Search Results: "xam"

29 December 2005

Decklin Foster: lastfmsubmitd

Apparently, tis the season to be writing your own Last.fm plugin. So here is mine. I finally got fed up with finding and causing bugs in mpdscribble (I am a bad sponsor!) it s written in C with libsoup, blah blah, can t stand C, and so I revived the MPD pseudo-listener I had started on as a replacement for that awful orphaned cacheless one-off we were all using before mpdscribble. I also fixed a few issues that were bugging me, like failing to detect restarts and tag changes. Not wanting to muddy up any of that logic with HTTP gar, I decided to write a separate program to queue, cache and send along song submissions. They re two or three hundred lines of Python each, and single-threaded (yes, that means child writers blocking and hanging around if the network code is in the middle of timing out or backing off. Deal with it! This is UNIX). I m pretty happy with the design, although the implementation is still very rough. This also mimics the model they want to move to for player plugins in general, which is good, because it will be less work for me to implement version 2.0 of the protocol once that is finalized. Additionally, I was able to find a more satisfying way to solve the disconnected-CD-player problem than my previous dreadful method of either using a few kludgey scripts to frob around in my primary plugin s cache or dealing with using cdscrobbler and having to be very careful about one plugin not stepping on the other s toes and invalidating my backlog. So this is the second example program included. (Oh yes, that part uses the Python bindings for MusicBrainz. MB is awesome. The Python bindings are hideous, however straight port of the C++ API. I d probably be better off just dumping the RDF into a real RDF implementation and doing my own cross-referencing, instead of prying it out piecemeal with select queries and non-polymorphic getters and all the other absolute nonsense you have to deal with when writing in a language without high-level data types or garbage collection. But regardless of implementation woes, this has kept me close to the MB metadata for my favorite CDs, and so I ve been busy all week entering and voting on mods (and doing research to justify my changes), which is very satisfying. I have yet to begin the gargantuan task of adding MB tags to my Ogg collection (I know, this is really just a matter of babysitting tp_tagger, but I ve got some work cut out for me to even get to that point).) And of course, once this becomes less prototypey, anyone who likes it can knock all the networking code out of their plugin and use it as their system service . Perhaps if I m agile enough this can become official code! It is at least a mootable proof-of-concept that UNIX systems don t necessarily need a heavyweight libscrobbler to abstract the service stuff out of the player plugin. I won t get my hopes up though. Still a bit unsure about the name. Theoretically it seems the service (you know, the thing we pay money to if we like it) should be Last.fm, while the software and protocols should still be Audioscrobbler, but the distinction does not seem to be drawn very clearly in practice. With the analogous situation of livejournal vs. ljcom you had a grokkable technical delineation (different repositories) as well as other widely used installations besides ljcom (DeadJournal, etc). I really can t see there ever being a competing installation of Audioscrobbler, because licensing the streamables is a formidable investment hurdle, and there s a negative market effect (also, the web site is not open source). But I am also bored of just sticking scrobble onto something else, so I wanted to grab sticking last onto something else before it got old. I haven t the faintest clue what makes me prefer whimsical names for some projects and prosaic ones for others. Note to actual MPD users (all, like, 5 of you): the stuff in the package will not handshake at the moment, as I have not yet gotten Russ to bless the client ID I made up. Will try to catch him tomorrow. Or later today I suppose. It s ready to go now. Next up: Because it s either this or Sound Juicer, I think perhaps it s time to bid adieu to abcde and write a MusicBrainz plugin for jack (jack is nice enough, I just haven t had a truly compelling reason to switch, and there have always been lots of good eyeballs on abcde). FreeDB delenda est.

Decklin Foster: Useful tip

If you are stuck on a Windows machine using PuTTY, and have saved you@foo.example.com in the interactive dialog as foo , you only need to type foo:target in the DOS box when running PSCP. I discovered this entirely by accident.

28 December 2005

Paul van Tilburg: Christmas 2005

Two days before Christmas I was invited by my colleague, Krzysztof, and his wife to come over to their place during Christmas to have a (Polish-style) Christmas supper/lunch. This meant that I didn’t have to be home alone on campus for Christmas, just hacking a bit, slumbering and watching some movies/series. The Water of Leith near Currie The trip to their home involved quite a walk from the university campus through villages and alongside the Water of Leith, but it was perfect weather to do so (in contrary to the weather on the second day of Christmas). We had a nice supper and I want to thank them for the invitation and the meal. Work Progress I feel I have made a lot of progress since the last time I reported. In the past week I have been able to implement a big part of the MathLang checker and create a lot of output generators useful for debugging such as a debugging library for printing data structures, an ASCII tree (a la the output of the tree command) representation of the AST and an AST-DOT-file generator which in turn can be transformed to many formats. I have worked it all out for a simple example that I have just added to my MACS site.

Uwe Hermann: 22C3: Impressions, lectures, hacking, bb ported to iPod

Train Station It's day 2 of the 22C3 congress — time to post some stuff. I've been travelling to Berlin by train with Daniel Reutter, taking a bunch of photos with my new PowerShot A610 (see photo on the right, for an example). You can browse the 22c3 flickr group for more photos. We've listened to quite a lot of lectures already, and many more will follow. Especially the keynote by Joi Ito was really great, the network here works most of the time (wired net, as well as WLAN), so everything's fine for now... As far as hacking is concerned, we played around with iPodLinux a bit. We managed to port aalib to the iPod an then (more interesting) we also ported bb, the portable text-mode demo. There are some issues on both the 4g iPod and the 5g iPod we tried this on, but we're working on it... We have documented the ports in the form of HOWTOs (currently Debian-specific) in the iPodLinux wiki (aalib, bb). bb on a 4g iPod
bb on a 5g iPod photo 1
bb on a 5g iPod photo 2 Up next: porting Ruby to the iPod.

27 December 2005

Matt Brown: Miredo/Toredo Patent Status

Miredo is an implementation of the Teredo - IPv6 over IPv4 tunnelling protocol which I have been playing with lately. I have filed an ITP bug to get Miredo into Debian, however this has been delayed while I try and get a handle on some of the patent issues surrounding the Teredo protocol. While Miredo itself is licensed under the GPLv2 the state of the Toredo protocol is less clear. Teredo was created by Christian Huitema, an architect with Microsoft. It is currently a Proposed Internet Standard waiting for the IETF editor to review it and assign an RFC number for it, IANA will then assign a permanent prefix for use by Teredo clients, servers and relays. According to the IETF IPR disclosure page, Microsoft has filed a statement of claim against the technologies described in the Proposed Standard. Microsoft states that they will provide a Royalty-Free, Reasonable and Non-Discriminatory License to All Implementers in their statement. Specifically the license that they offer the Teredo protocol under is called the Microsoft Royalty Free Protocol License Agreement. This is a catch-all license that Microsoft uses for all client-server protocols used by Windows. The license itself doesn’t make any claims about Microsoft’s IP rights, it simply gives you a license to use any rights Microsoft may have in the specific protocol you are using. For example at the end of the license agreement you select which protocols you wish to have covered under the agreement. Alongside Teredo you can also choose protocols such as IPv4, DNS, 6to4 and lots of other common protocols. The actual patent application for Teredo is incredibly difficult to find, the IETF IPR disclosoure doesn’t link to it, none of the proposed standards link to it and googling for “Teredo Patent Application” isn’t particularly successful either. In the end it turns out that the title is quirkily named “Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload” and was published as Patent Application 20040190549 on the 30th September 2004. Incidentally if anyone knows of a nicer way to link to a US Patent Application than the ugly URL above, I would love to know. Half the reason that the Patent Application was hard to find is that it doesn’t actually mention Microsoft anywhere at all, unlike the ~5000 odd other Patent Applications currently filed by Microsoft. From what I can tell it appears that Christian Huitema has filed the application through is own personal attorneys independently of Microsoft. So where does this leave us in terms of getting Miredo into Debian? The short answer is I’m not entirely sure. I can’t seem to find a definitive statement regarding Debian’s position on patents anywhere, the best I’ve been able to come up with is a debian-legal post from Andrew Suffield from Jan 2005 which offhandedly describes the informal Debian patent policy as:
“ignore patents until somebody starts to wave them around, then drop the offending thing like a hot rock”
So maybe I’ve already shot Miredo in the foot, by investigating its Patent Status… :( My take on the situation seems to be that Debian is perfectly happy (and perhaps has no other option but) to ignore patents applicable to software in Debian until it becomes apparent that a particular patent is being enforced or has the potential to be enforced. So the question now becomes whether the Microsoft Royalty Free Patent License is acceptable enough to Debian to allow Miredo to be included in main or non-free, or whether it simply can’t be redistributed at all. The main problem I see with the license is that it does not permit you to sublicense other parties to make use of the Toredo technology used by Miredo. If this were a copyright license then that would most certainly fail to pass the Debian Free Software Guidelines, does Debian treat patents in the same manner? I think it’s time for me to post to debian-legal to seek some “official” guidance on the situation, but hopefully this post has ordered my thoughts enough that I can now write a coherent mail seeking help. If you have any comments or pointers to Debian statements on this sort of situation that I have missed they would be most welcome.

26 December 2005

Julien Danjou: I am a "not so bad" maintainer :)

I just fixed some RC bugs in my packages to get my ass not kicked.
I uploaded a small update for apt-build. I tried to use it, and it seems to be totally dead. Trying to build blackbox (my reference test, this is historical), make died with a segfault, and at the end, apt-build died with a segfaults. Yee-pee ! And I don't know why, this is weird. I also asked the removal of torsmo (superseded by conky) and orphaned manderlbot, since I have no skill in Erlang. I also find out why I could not fix the f****** FTBFS on svnmailer. And it was because the -I.svn option of dpkg-buildpackage I used, skipped the svnmailer.conf.example file, obviously... Raaahhh, bad shell alias configuration => headache !

23 December 2005

Edd Dumbill: Paul Graham, XTech and holidays

Just a quick pre-holiday update on the state of XTech 2006. We've had, as usual, some amazing paper submissions so far, so please keep them coming. Don't forget, too, that we're also asking for tutorial submissions. These should be half-day or full-day and, as well as the free conference registration all speakers get, we pay an honorarium to tutors. Deadline is 9 January at the latest. One very exciting bit of news I have is that Paul Graham has agreed to deliver one of the keynote sessions at XTech. I'm very pleased about this, and it follows in the tradition we've established of having interesting and challenging speakers, rather than putting plenary sessions up for sale to sponsors. Amsterdam. 16-19 May 2006. What could be better? As for the holidays, I hope to be spending some time catching up on my open source work, and also carrying on my work with Rails. A busy couple of months at work, combined with no fewer than two bad server hardware issues, has eroded free time considerably. So to anyone waiting on me for something, I do apologise. One final pointer: IBM developerWorks have published the first part of my examination of the future of HTML, focusing on WHATWG. Look out very soon for the second part, looking at the various activities underway at the W3C. I know that my editor at least awaits this eagerly! Thanks to everyone who's read this blog during the year, and for the many interesting and helpful conversations that have come from it. Happy Christmas!

22 December 2005

Andrew Pollock: [life] The Chronicles of Narnia

Last night, Sarah and I went to see The Chronicles of Narnia: The Lion, the Witch and the Wardrobe. I quite enjoyed it. It's been years since I've seen either the animated version (I think I've seen that at least twice, and I can't believe it was from 1979, that makes me feel so old) or the BBC TV mini-series (I think I saw that once), or read the books, so I couldn't remember the story very well at all, so it was great having a two hour long memory jog. It seemed very faithful to my memory of the original story. Acting-wise, I thought the actors that played Edmund and Lucy did a particularly good job. I was initially a bit down on the choice of making Queen Jadice/The White Witch so young, but that turned out pretty good nonetheless. The voice of Aslan was a good pick. My main beef was that the violence was too sanitised. I feel strange saying that, but up until the big battle scene, they went out of their way to make it all pretty tame and bloodless. There were also a couple of scenes that were very obviously shot in front of a blue or green screen. This movie had the potential to be Lord of the Rings material, but I think it fell down a bit, only on a few small things. The Lord of the Rings was as violent as it needed to be, without going into Day of the Dead territory, for example. Very good, but not great. I hope they do the rest of the books though. Oh, and I really think all these people who are trying to draw all these Biblical connections are really reaching.

Enrico Zini: Custom signals with Ruby-GTK2

How to create a custom signal in Ruby-GTK2 I'm playing with the GTK2 bindings for Ruby. When coding GUI things, I usually like to build my own higher level widgets by subclassing containers and populating them with other widgets. For example, I'm creating an image browser and I like to make an ImageList class that subclasses a Gtk::ScrolledWindow and builds the TreeView inside it:
class ImageList < Gtk::ScrolledWindow
      def initialize
              super
              @files = Gtk::ListStore.new(String, String, Gdk::Pixbuf)
              @fileList = Gtk::TreeView.new(@files)
              renderer = Gtk::CellRendererPixbuf.new
              col = Gtk::TreeViewColumn.new("Thumb", renderer, :pixbuf => 2)
              @fileList.append_column(col)
              renderer = Gtk::CellRendererText.new
              col = Gtk::TreeViewColumn.new("File name", renderer, :text => 1)
              @fileList.append_column(col)
              self.add @fileList
      end
      
      def readDir (root)
              Dir.foreach root do  dir 
                      file = root+'/'+dir
                      if !FileTest.directory?(file) && dir =~ /\.jpe?g$/ && FileTest.readable?(file)
                              thumb = getThumbnail(file)
                              iter = @files.append
                              iter[0] = file
                              iter[1] = dir
                              iter[2] = Gdk::Pixbuf.new thumb
                              File.delete(thumb)
                      end
              end
      end
end
When working like this, I find myself very soon in need of creating custom signals: in this case I want to make a signal that ImageList emits when the user select an image from the TreeView, like this:
fileList.signal_connect("selected") do  filename 
      imageDetails.load(filename)
end
Now, how do I implement that extra 'selected' signal in my ImageList? Ruby documentation is usually very good and easy to find, but this time Google had little to say to me. When the going gets tough, the tough gets to IRC:
enrico> Hi.  http://ruby-gnome2.sourceforge.jp/?News_20031116_1 says that it is
        possible to create custom signals, however I could not find any
        documentation on how to do it.  Anyone has a link or a short explanation?
pterjan> glib/sample in the source IIRC
pterjan>   # define new signal "hoge"
pterjan>   signal_new("hoge",                  # name
pterjan>              GLib::Signal::RUN_FIRST, # flags
pterjan>              nil,                     # accumulator (XXX: not supported yet)
pterjan>              nil,                     # return type (void == nil)
pterjan>              Integer, Integer         # parameter types
pterjan>              )
pterjan> in glib/sample/type-register.rb
enrico> ooh!
enrico> pterjan: thanks!
enrico> I'll blog about it, it might make it easier for others to google this answer
Thanks pterjan, and oh, coolness! So there are nice examples that I was silly enough to miss. Are they included in the Debian packages? Oh, yes! Right in /usr/share/doc/libglib2-ruby/examples/type-register.rb. Here's the ImageList class with the new signal:
class ImageList < Gtk::ScrolledWindow
      type_register
      signal_new("selected",              # name
                 GLib::Signal::RUN_FIRST, # flags
                 nil,                     # accumulator (XXX: not supported yet)
                 nil,                     # return type (void == nil)
                 String                   # parameter types
                 )
      def initialize
              super
              @files = Gtk::ListStore.new(String, String, Gdk::Pixbuf)
              @fileList = Gtk::TreeView.new(@files)
              renderer = Gtk::CellRendererPixbuf.new
              col = Gtk::TreeViewColumn.new("Thumb", renderer, :pixbuf => 2)
              @fileList.append_column(col)
              renderer = Gtk::CellRendererText.new
              col = Gtk::TreeViewColumn.new("File name", renderer, :text => 1)
              @fileList.append_column(col)
              self.add @fileList
              sel = @fileList.selection
              sel.signal_connect("changed") do  sel 
                      if iter = sel.selected
                              puts "Double-clicked row contains name # iter[0] !"
                              self.signal_emit("selected", iter[0])
                      end
              end
      end
      def signal_do_selected(file)
            puts "Selected " + file
            #p caller
      end
      
      def readDir (root)
              Dir.foreach root do  dir 
                      file = root+'/'+dir
                      if !FileTest.directory?(file) && dir =~ /\.jpe?g$/ && FileTest.readable?(file)
                              thumb = getThumbnail(file)
                              iter = @files.append
                              iter[0] = file
                              iter[1] = dir
                              iter[2] = Gdk::Pixbuf.new thumb
                              File.delete(thumb)
                      end
              end
      end
end
And here's the controller code that binds the signal to some effect:
imageList.signal_connect("selected") do  imagelist, filename 
      puts "File # filename  was clicked!"
      image.load(filename)
end
It's quite easy, and (finally!) it does what I want without needing to write thousands of lines of code. YAY! And I finally fulfull my dream of connecting closures instead of callbacks to GTK signals. Yes, I could have done it in Perl. Yes I could have done it in Python. But Ruby is soo cute!

Kai Hendry: Rant: Mailing lists

Free software mailing lists suck. Especially Apache’s. For weeks I have been struggling with Apache mailing lists (apache-users and spamassassin) and now recently with mutt lists. I know with Apache lists you can use a special syntax:

You can start a subscription for an alternate address,
for example “john@host.domain”, just add a hyphen and your
address (with ‘=’ instead of ‘@’) after the command word:

But when I do it via mutt or a echo test mail users-unsubscribe-hendry=dabase.com@httpd.apache.org . I get no response from the automated mailing list manager. :( So, If I ever get subscribed it’s generally thanks to the mailing list owner. Then after lurking a bit, I try post. That never works as the return paths don’t match the email I am subscribed with. Return paths change all the time depending on which machine I sent it from. It could be anything from: And the first two aren’t working email addresses! If you must filter, can’t you filter on my From OR Reply-To email address FFS: hendry@iki.fi All I suggest is for Apache to start using something usable like Google Groups for user support. Does anyone else feel my frustration?

21 December 2005

Erich Schubert: Scammers - provide them with incorrect data?

I today received another obvious scam. Well, basically any email from a bank referring to PIN and/or TANs (for those poor US bank customers: german banks all use one-time-passwords) is ovisouly scam. Especially when it's a really bad translation... So I wonder whether I, as an intelligent user, should maybe still go to this scammers page - and enter deliberately incorrect data. For example by calling
wget "http://202.129.53.211:8081/postbank/privat/app/submit.php?konto=$RANDOM&pin;=$RANDOM&tan1;=$RANDOM&tan2;=$RANDOM&tan3;=$RANDOM"
Yeah, they probably have to filter their data anyway. But are you sure they can tell "good" from "bad" values apart? How likely do you think I accidentally hit a legitimate users' account number and he might suffer from his account becoming accidentially locked? Does this help the banks to detect this scammer, and filter him somehow (e.g. by saying "invalid PIN" even when it's valid) after enough incorrect tries? Hmm... maybe the banks should provide an API to request invalid account numbers to submit to scammers. Then they could e.g. set a cookie or setup IP filters and fight back these scammers.

Adam Rosi-Kessel: Doing It Right: BabyOp, Perl, and OOP?

I’m coding a new CGI application, tentatively entitled BabyOp. It is software to run a babysitting coop; I suppose it is a species of “social software.” The idea is to be able to track hours credits, schedule babysitting times, centralize contact information and other details about babysitting requirements. I considered using something like Zope or Drupal for the application, but I’ve never liked developing exclusively through a web-interface and found myself having to do a fair bit of “actual” coding to get the results I wanted. I realize there is a command-line interface for Zope, but it’s really pretty limited. I had some plans a couple of years ago when I designed my wedding site in Zope to extend it to be more useful, but sadly never got around to it. So I’m back in my comfort zone, perl. I’ve written a fair amount of unmanageable perl code, however, CoopOrder probably being a shining example (it was also my first perl program). I’ve certainly improved since then, and the fact that I’ve received several patches from others for randomplay suggests that my coding style is getting to a half-decent point. I’d really like to get it right this time, though. One thing I’ve learned over the years is always to look for a module to do what you want before setting out to do it yourself, since chances are the module writer is a better coder than you (or at least, than me!). To that end, I’m using CGI::Application, HTML::Template, and DBIx::Abstract, among others. I’m also trying to keep things really granular and avoiding long subroutines. Certainly taking the HTML out of the perl code helps with that. I’m amazed at how often my code now just “works” on the first try, similar to esr’s story about his first look at Python (“Brace yourself: this code only took me about ninety minutes to write—and it worked correctly the first time I ran it.”) I’m trying to figure out if it would be sensible to make this application more fully object oriented. Growing up in the ’70s and ’80s and having done a lot of database programming, I’ve always been unfortunately pathologically declarative. (My first major package was in Clipper—I was 13 years old). I find it a lot easier to modify a pre-existing object oriented package than to design my own. But then again, does it really make sense to attempt an object-oriented design where there is really only one important “object” — in this case, the babysitting unit?

Joey Hess: PhatNoise Music Manager

Why do prioprietary pieces of software often have names like the above? (Other examples: Macromedia Flash, Chipmunk Scripts Guestbook, Mojo Mail, PeopleSoft PeopleTools, Golden FTP Server Pro, Invision Power Board) A walk though the CVE lists will turn up hundreds of hilarious examples of similar names. It's easy to guess whether a given security hole in that list affects Debian based just on the form of the software name even if one has never heard of the program before. Even free software projects that seem to partake of a proprietary mindset show it in the names: Mozilla FireFox, OpenOffice, Mozilla Thunderbird. So different than w3m, vim, mutt. A whole pile of history, cultural, and, I imagine, linguistic difference. Even if at first saddled with such a name, many free software projects seem to evolve in the other direction: Debian Installer -> d-i, X Window System -> xorg. As someone who can't name software, I find this strangely fascinating.

Joey Hess: trainwrecks

As you read this fascinating but edited-for-brevity irc log from #debian-boot, imagine yourself as a contributor to either the larger Debian project or the Debian-Installer sub-project. At what point do you begin to feel insulted?
<Chepre> can i talk to the chief of debian please. the whole project could earn some money
<minghua> Chepre: if you are serious, write email to leader@debian.org
<Chepre> thanks minghua. is there a way to get a "official" release created with all up-to-date modules, like for Intel ICH7 sATA-Controller...as long as i pay for it?
<minghua> Chepre: chances are small. the official release is a long process
<minghua> and it doesn't happen often
<minghua> the earliest date you can expect for next release is probably end of 2006
<minghua> so you would have a better chance to hire some people/company who knows debian and provide you an updated kernel
<Chepre> OMG? does debian have not enough coders or don't they have "fun" to keep it up-to-date? e.g. the intel ich7 is already very old
<Chepre> well, can i hire the debian-team?
<minghua> Chepre: well, there is no official "team", but sure, you can hire debian developers
<gravity> Chepre: The stock kernel doesn't support your device? Why not? Is the driver not in the mainline kernel tree?
<Chepre> no
<gravity> Why not?
<Chepre> its just a default Dell PowerEdge 850 with Intel ICH7 and it isn't supported
<gravity> Chepre: Well, did you send an installation report?
<Chepre> gravity: no
<gravity> Chepre: That'd be a good first step to getting your problem fixed for future releases
<minghua> Chepre: ah, then it's supported by stock kernel after all, did you say it only works for kernel > 2.6.12?
<Chepre> minghua: 2.6.8-2 doesnt support it
<minghua> Chepre: okay, so as gravity said, write an installation report so that people know your problem
<Chepre> well, we cant wait month or years for a fix
<gravity> Chepre: You can create a custom installer image with the updated kernel for your work
<Chepre> we have to install many server in the next weeks :(
<munghua> Chepre: then I'm sure if you offer enough money, some d-i people can provide an installer with a newer kernel for you
<Chepre> well, i already got an custom installer but its a bit buggy...i need a whole netinst with the same "quality" like the official releases got
<gravity> sounds you were at the right track at the beginning... though "chief of debian" is probably the wrong person to contact :-P
<gravity> You could send a mail to debian-boot I suppose, offering the work for what you need
<Chepre> well, i also need up-to-date software, not just only the installer :( so the "whole" debian-team has to stop current work and has to start creating a stable version which is newer than the current unstable
<Chepre> minghua: do you think 50k are enough to get a 3.3 as stable?
<minghua> Chepre: by "up-to-date software" you mean all the software, including desktop, web servers, and stuff?
<gravity> Chepre: You may want to check out an alternative source. HP, as I understand it, provides the kind of support you want. Progeny does as well. And Ubuntu has their own full derivative with this sort of thing
<Chepre> minghua: right, as long the software is not a beta :)
<gravity> Chepre: The whole Debian team is not the kind of project that'll do this for you
<Chepre> so the debian-team dont want to earn money?
<Chepre> gravity: i know, open source :) ... but i think the guys making a new "official" release for me whould be very happy getting up to 20.000 us$ for one month of work
<gravity> Chepre: It would violate a lot of principles and the stable release policy to do an official debian release. You could get what you need with a name other than debian though, with some of the companies I listed above
<Chepre> where is the problem? i give you the money and you give me an up-to-date release which is only for my company, not for public
<gravity> I know I'd quit the project if there was an official Debian release for cash
<minghua> and there are like what, 10,000 packages in sarge now?
<gravity> Chepre: That's what those companies are for. Debian doesn't work like that
<gravity> Chepre: If you want to talk to individual debian developers for that, you can do that too
<Chepre> hmm, ok....now i know why the d-i doesn't recognize smp or 64bit systems

Now imagine yourself as someone who is trying to install Debian on twenty thousand stock machines for work and it's not working. At what point above did you begin to feel alienated? (Assuming that "Chepre" is not trolling,) Neither side in this exchange is particularly meaning to insult the other, both are doing what is right and obvious from their perspective. Two ships passing in the night, two trains speeding down a track, I don't know. It's a shame we can't deal better with this sort of thing. I would be truely interested to see how other free software projects deal with it differently. The rest of this is my attempt at some analysis and is probably not very useful.. A few mistakes Chepre made: A few mistakes the channel (irr-)regulars made:

20 December 2005

Benjamin Drieu: Heading to the parliament

As Christian said in a very nice summary of the issue, this is the day the DADVSI law (which is a transposition of the EUCD, the European DMCA) will be examined by French parliament. I would really like to share Christian's optimism. So far, the EUCD.INFO initiative succeeded in bringing the issue to the public (120k signatures, mostly from French residents) and to several MP. Good news are that a lot of amendments has been submitted to mitigate effects of the DADVSI law. Bad news is that we also had terrible press cover: we had articles in most national newspapers and TV, but a lot of them are completely missing the point and are comparing us to champions of piracy against copyright. Even worse, Christian Vanneste (conservative MP responsible of the law) keeps spreading lies. Today, members of the EUCD.INFO initiative went to the parliament to talk to MP and to show their concerns. Some friends and I went too even if we were just there to watch the debate. I'm quite disappointed to see that left wing was totally absent (like less than 10 MP out of 160!). Right wing was more represented but MP supporting our amendments are a minority group. Debate starts again at 21 local time. We will be there and I hope I'm wrong, but I really fear we loose more than we gain.

Christian Perrier: DADVSI critical day

Today is the day where the very controversial DADVSI bill will be examined by the French Parliament. DADVSI stands for "Droit d'Auteur et les Droits Voisins dans la Soci t de l'Information" which can be roughly translated to "Author Rights and Related Rights in the Information Society". This very controversial bill includes some very ambiguous parts about software "that could be used to illegally exchange data over the Internet". The text is so vague that it can even interpreted as possibly allowing to forbig software authors to publish their sources....which explains why the French Free Software community reacted so strongly. This text is promoted by the major entertainment companies (Vivendi Universal and the like...). Some even said to representatives of the Free Software communities: "we will foirbid you to publish your sources". I'm feeling they're failing, though. The very active lobbying promoted by the EUCD.INFO initiative has already reached one goal: the bill will not be examined confidentially. For instance, I'm currently watching the LCI TV channel, one of the major news channels among satellite/cable/Internet channels in France and this problem is now in their major headlines. You're screwed, pals. Bottom line note: in France, laws are proposed by the government and must be examined, then voted, by the Parliament. The Parliament may "amend" a law (ie propose changes) which sometimes means completely changing it. We now have a great hope that this will happen as many of our representatives ("d put s"), including some from the current majority (right wing) and most of the left wing representatives, have expressed very strong reserves. Additionnal side note: at this moment, there are no less than 200 amendments proposed to this bill...:-)

Adeodato Sim : grep-dctrl over any dist/component/arch

grep-dctrl has proven, at least for me, an utterly useful tool; I suspect this will probably be the case for many others as well. (As I side comment, I believe it’d be nice for AMs to make sure their applicants do at least know about the existance of grep-dctrl, and ideally have basic knowledge about how to use it.) Many times, though, using its grep-available form is not fine-grained enough, and one needs full control over the distribution to make the search in. A valid workaround for this is to run grep-dctrl over /var/lib/apt/lists/whatever; I’ve been using this for some time now, with shell aliases like grep-sid or grep-s-etch (for sources), but sometimes I wanted a grep over two dists, or several components (e.g., main and contrib), or a set of arches. For this, I decided to write a grep-dctrl wrapper that, relying on the structure of a normal mirror, allows to run a search over any combination of dist/component/arch. At home, where I do not have a local mirror, I have populated /org/ftp.root/debian/dists with a pool of symlinks towards /var/lib/apt/lists, and whenever I need more than i386/source, I can run it on any debian.org machine with a local mirror, e.g. merkel. For example, to know which packages in sid but also present in testing are still kdelibs4c2a-untransitioned, but ignoring hppa and m68k, I’d run on merkel the following:
  % grepd sid:main,contrib:alpha,arm,i386,ia64,mips,mipsel,powerpc,s390,sparc \
          -Fdepends -e 'kdelibs4(c2)?(  , $)' -ns source,package  
    unique-sources   xargs madison -s testing   awk ' print $1 '
In case somebody finds it of interest, the script is available here, together with the dirty hack that is unique-sources, needed since not all binary packages have a Source header (sigh). NP: Jacques Brel, Au suivant

18 December 2005

Andrew Pollock: [life/americania] Four weeks

I've still been extremely busy. Unlike my last fairly incoherent brain dump, this time I've been keeping notes on the things I wanted to write about, so hopefully I won't forget things. Here we go...
Squirrels
Squirrels are absolutely everywhere. They're very fast and very cute. They're kind of like possums, except diurnal. They run up trees with ease, and leap from tree to tree. It's quite cool to watch them. The damn things don't stand still long enough to be photographed (properly), and they don't let you get too close without scampering up a tree or running off. I'm told they're the number one carrier of rabies, so I shouldn't be trying to get too close anyway.
Sales tax
Definitely one of the more annoying aspects of consumer life is the fact that prices quoted are not inclusive of sales tax. This means you always need to part with more cash than you expect. Furthermore, there are some places (some fast-food outlets) that do quote the prices inclusive of tax, so it's really hard to know what you're in for.
Speed limits
I find speed limit signs to be either infrequent or harder to notice, or a combination of both. They're just a black text on white background sign. I'm used to them having the red circle. That said, no one seems to drive at the speed limit anyway.
Ethnicity
Canberra's a very white town compared to say Sydney, but I reckon at least the San Jose area of California blows the socks off what I've seen of Sydney for multiculturalism. You really notice it over here. I've been at the mall in Milpitas, and you can play "spot the white European" (a variation of "spot the Caucasian").
Different responses to thankyou
I think the fairly standard response to saying thanks that I'm used to is "You're welcome". Over here, you get "mm hmm" a lot, which is just strange.
Fractions vs decimal
They love their fractions. Petrol gets quoted at 2219/10, which took me a while to realise was 221.9 cents per gallon
Alcoholic beverage labelling
Australia has the concept of a "standard drink". I remember as a kid the advertising campaign "rethink your third drink" (or for women, "rethink your second drink"). The idea being that men could drink two standard drinks in the first hour, and then one standard drink every hour after that, and be at 0.05% blood alcohol, which is the legal limit for Australia. And every bottled alcoholic drink is labelled with how many standard drinks it is. An average beer is about 1.2 standard drinks for example. No such labelling over here. You get the percentage of alcohol per volume, and that is it, which makes self-regulating very difficult. The limit is apparently 0.08%, but I don't think I want to be driving around on the wrong side of the road at that level (or any level really).
Christmas vs "Holidays"
Everyone and every piece of advertising goes on about the "Holidays". Retail people are always wishing us "Happy Holidays" instead of "Merry Christmas". I think this is because there's a large chunk of people who don't necessarily celebrate Christmas.
Tipping
I haven't really come across tipping in everyday life as much as I'd expected, but when I think about it a bit, I'm at work most of the time, so that's probably why. The general rule seems to be to tip "double the tax", so for a bill at a restaurant, or where you get personal service, such as a haircut, you tip. But you don't tip at McDonald's, nor Subway (where I would have expected you would).
That's about all my current observations on living over here. Tomorrow we get our townhouse in Central Park. Our air-freight was finally delivered today. (What was supposed to take about 8 days took 4 weeks). Not sure when we can expect our sea freight at this stage. We bought a couple of mountain bikes last weekend, and if the weather is okay tomorrow, we'll pick them up and ride them home. We've found a really nice off road (as in not shared with cars) bike path, which runs close to home all the way to work. I'm really keen to roller blade to work if it's feasible, and also to cycle in. I'm a bit disappointed to discover after we've been accepted for the place that we're right on top of a toxic waste dump (or something like that). If I grow a second head, you'll know why. The other piece of exciting news is that the bank sent me a debit card, when they'd previously told me they wouldn't until I had a Social Security number (still no sign if that yet). This thing (the debit card) is freaking weird. It's Mastercard branded, and in some places you use it like you'd use a debit card for EFTPOS back home. You swipe, enter your PIN and that's it. In other cases, you swipe and sign a bit of paper like a credit card transaction. In either case, money is sucked out of our checking account. The scary thing is that no one seems to check signatures in this country, and a lot of places will accept credit card payments electronically (like petrol stations where you just swipe the card at the bowser and enter the ZIP code of your billing address and that's it). Oh, and I can use this thing like a credit card for Internet purchases. What bothers me is that the level of authentication is so low, but it's sucking actual money out of our checking account, so with all the credit card fraud around, it's relatively trivial to draw actual money out of a bank account, as opposed to using someone's credit. That said, I just got the card today, and since then, it's made shopping so much easier. It's amazing how many places won't accept a foreign credit card, and I was a big user of EFTPOS back home, and this ability to use a debit card like a credit card means I can essentially continue in that habit. I wasn't looking forward to carrying lots of cash or having to use cheques.

15 December 2005

Colin Walters: Did a human actually write this?

Or was it generated by a computer picking random buzzwords? Take a guess.
The semantic mark-up languages would be used to specify the convergence of business and IT models, and more importantly, their metamodels. The ontological representation of the metamodel of a constituent model enables reasoning about the instance model, which enables a dependency analysis to deduce unknown or implied relationships among entities within the instance model. The analysis would be extended across multiple layers of models. The semantic model-based dependency analysis would reveal which entity has an impact on which entities (for example, business components and processes, performance indicators, IT systems, software classes and objects, among others) of the model. This semantic model-based analysis would be applied to a model that provides an introspective view of the business within an enterprise. Also, it would be applied to a value network that yields an extrospective view of businesses in an ecosystem.

14 December 2005

Joe Wreschnig: How to remove features

Given that the perennial, uh, “discussion” about GNOME’s features is on us again, I thought I’d share the method I use to remove options from Quod Libet. I break them, and see how long it takes people to notice. Well, no, not really, but the amount of brokenness in an option is a good metric for whether or not people change it. One of the first options in QL was a checkbox for “Show album cover”. Sometime around 0.7 or it became impossible to turn this off, and I didn’t notice until I was redoing the preferences dialog for 0.11. Rather than fixing it, I just removed a few dozen lines of code and made it always on. No one has ever asked for it back (though someone probably will now). This has happened a couple of times. On a related note, three months ago Bram Cohen made an interesting post about configuration in software, which has been rolling around in my head picking up smaller objects since. There’s a lot of “configuration” that we don’t think of as configuration — for example, the volume in an audio player is stored in basically the same place (same file, GConf tree, whatever) as, say, where the program looks for files. But we only think of the later as part of our “configuration.” That’s because we control the volume “nearby,” in the same place we view it, but the location to look for files in a very different spatial place (an entirely separate window). No one would be crazy enough to put a volume control in a Preferences dialog. So “configuration” becomes synonymous with “hard to find”. The answer to configuration creep, then, is to provide as much direct manipulation as possible. At least from the UI perspective. You’re still screwed from the combinatorial explosion on the implementation side. Beyond that, one thing I’d really like is for context menus to be more common. That is, users should be able to expect to right-click on a widget, and change changable aspects of that widget. This also means making right-click involve no surprises — it shouldn’t activate buttons, shouldn’t delete things, etc. Otherwise people will be too afraid to right-click to try configuring. This feels like a good substitute for when direct manipulation isn’t really possible, because the most direct form of manipulation is already taken up by the widget’s primary purpose. Anyway, Quod Libet is going to be moving in this direction in the future. We already have plugins configurable in the same dialog where you turn them on and off. In 0.16 the tray icon has become an interface almost unto itself, and so it has a separate Preferences dialog now, launchable only from the icon. (It also only has one thing to configure, but that might change. Most importantly, it can grow, without getting in the way of people who don’t care about the tray icon.) For 0.17 I’m probably going to fulfill the common “display remaining time” feature request by putting a radio context menu on the time display. And so on. Fixing Real Bugs
But enough about UI wankery. Does anyone know of a nice C parser for Python? Inspired by a bug he found in mmapmodule, Michael’s written a tool to find type signature issues in CPython functions, but its usefulness is lessened by the fact it returns a ton of false positives and probably also misses many things as well. You Are All Self-Absorbed
My project for a class this semester involved trying to extract useful categories from the link structure of weblogs. Unfortunately it turns out weblogs are all about navel-gazing, and the link structure isn’t at all useful. The majority of shared links on Planet Perl,Debian,GNOME,Python pointed to perl,debian,gnome,python .org, and the majority on MSDN Blogs pointed to microsoft.com. Only about 10% of links pointed to a post on another weblog. Given that additionally weblogs tend to not have comments (and even if they do, people reply in another weblog post anyway), that’s kind of sickening. Can you imagine how much email would suck if only one out of every 10 mails got a reply? I wouldn’t be able to spend all day reading about how Debian’s FTP masters are doing their job properly.

Next.

Previous.