Search Results: "beh"

9 January 2006

Emanuele Rocca: darcs record == bzr shelve

darcs record behaves exactly as bzr shelve And I agree that it's really a cool feature.

Wouter Verhelst: Prospective talks for the Debian Devroom @ FOSDEM2006

By request: Here's a list of people who've confirmed they're going to give a talk in the Debian Devroom at the next FOSDEM. This list isn't final yet (there are some more people who've asked for a time slot but did not confirm yet; and I didn't assign slots yet, either) but it might be interesting for those who are coming to have a preview of the subjects that will be available. Well then.
Lars Wirzenius: Nobody expects the Finnish Inquisition: Confessions of a package torturer
Piuparts tests that .deb packages can be installed, upgraded, and removed without problems. Lars uses it to torture all the packages he can get his hands on. This talk will explain how to use it on your packages before uploading them, and thus improving their quality and not having them suffer in Lars's hands.
Martin Zobel-Helas: Debian-Volatile - behind the scenes
This talk will give an overview of how packages are handled for Debian-volatile; what changes are allowed, how security is handled.
Martin F. Krafft: Improving workflow in Debian through process integration
This talk will be about the same subject as Martin's doctorate thesis. The abstract for that is:
This research paper/project details the technical challenges the Debian project faces as it continues its tremendous growth in size and popularity. It describes a research endeavour designed to increase the use of version control within the project for improved coordination of globally distributed teams of volunteers working on the software packages that make up the system. The research primarily focuses on the integration and consolidation of the involved processes. With tools already available for some parts of these processes as well as the coordination of teams, the goal is not to reinvent the wheel, but rather to reuse and improve these tools, to better integrate them, and to make them more accessible by providing abstraction wrappers with interfaces intuitive to Debian developers. It is further the intent for these tools to be optional and fully compatible to existing practices, thus not forcing developers to adapt. The research starts with process analysis and studies of the work habits on the side of the developers, and targets the final output of tools, which implement improved workflow in Debian package management through meaningful integration of existing (and proven) methods
Enrico Zini: Debtags, and what you can do with it today
This talk will introduce the Debtags project, what it has accomplished so far and the wonderful advanced tools that are now available, using debtags, to make sense of the huge package archive.
Bill Allombert: Inside the Debian menu system
The debian menu system transparently keeps the menus in sync with the list of installed applications; so transparently, in fact, that a lot of developers do not know how the system really works. This talk will detail the various components of the system, what the technical challenges are and how they are solved.
Frans J. Pop: Debian Installer internals
An introduction to the inner workings of Debian Installer. Starting with what happens when the installer boots, the talk will go on to discuss how the dynamic menu structure allows the installer to be adapted for different architectures and installation methods. Other subjects will include the special nature of udebs, the contents of a D-I initrd, how cdebconf knits everything together and allows the use of different frontends, preseeding and the use of hooks. If time allows, a short introduction into the build system and CD building may be provided. Some knowledge of Debian package management (like priorities and dependencies) is assumed in this talk.
Aurelien Jarno: The Debian GNU/kFreeBSD port
Debian GNU/kFreeBSD is a port of Debian using the FreeBSD kernel and a GNU libc library. It is currently the most advanced non-Linux port in terms of packages ported.
This talk gives an overview of GNU/kFreeBSD, and a quick comparison between the FreeBSD and the Linux kernel, to give users the necessary information to let them find how the FreeBSD kernel could fill their needs. It then describes the status of the port and the choices made concerning the architecture of the port (libc, threading library, etc.). It will continue by giving the various ways to try out this port and to give help, giving pointers to useful documentation and some useful hints.
Best portability practices are also covered, for both the Debian packaging and the upstream code. It will be based on real examples of non-portable code, and will show the best way to change it into portable code.
Summing the times that people gave me, I'll have anywhere between 5h25 and 6h00 of talks already, and two more people who've shown real interest in doing something in the Debian devroom (but who haven't sent me the information I ask for to be able to confirm their talk; please do so!). I'll probably get 9 hours in all (10 if I squeeze a little bit; but then I might have some issues with the key signing party, which I'm also co-organizing), so there is still some time left for interested parties. However, if you're interested in giving a talk, you shouldn't wait too long anymore!

Benjamin Mako Hill: Principles, Software and Freedom

Apologies to anyone that finds this preachy or holier-than-thou. I don't consider myself immune to this criticism: my mobile phone still runs non-free software. I realize that what I describe here is a process for everyone. I'm just trying to make sure nobody gets too comfortable with the status quo. It's been interesting to see non-hackers finding inspiration in the free/open source software movement. In particular, I've been watching this phenomena for a couple years in the the non-profit and NGO sector. Folks in these groups are often very philosophically aligned with the freedom movement behind free software and there are a number of organizations that are involved in promoting free software and the ideas behind it to NGOs and beyond. What's amazing to me is that in many situations, major advocates of free and open source software in these areas -- people who are advocating the software because of the freedom and not only for the pragmatic benefits -- don't actually use free software on their desktops or in other places they could. Sure, everyone uses Firefox. Sure, everyone uses Apache and GNU/Linux for their web servers. Sure, everyone uses Drupal, Mambo, Plone, or another free CMS. But one can't help but notice that Firefox, Apache, and free CMSs are higher quality, more featureful, and easier to use than the proprietary alternatives. People arguing for free software from a principled position need to remember that principled positions are sometimes inconvenient. Free software is no exception. It's frequently different, sometimes incompatible and a bit more work. In some situations (dare I say it?), it's not as good as the proprietary alternatives. We all need to remember that living a principled life is not always the easiest path. If you take a principled position against GMO foods or in favor of organic produce, you'll probably spend more and shop farther from your house. Your favorite fruit may not be in season year-round. If you only buy fair-trade clothing, your garment choices will be cut down in ways that will sometimes be inconvenient. It's nice when taking a principled position also means you get to do what is most convenient. But there's little principle in taking a principled position only when it's convenient. Yes. There are problems -- often major -- with free software: usability, documentation and otherwise. There are also ways to address these problems. Few of them require that you be or become hacker but almost all of them involve using the software first. I don't have to think hard to recall all of the times I've received contributions (e.g., documentation, suggestions, translations, patches, etc.) from people who don't use my software. If you don't think that spreading free software is an ethical act, you can happily ignore me. If you agree that it's the right thing, think hard about your principles and challenge yourself to take the next step -- whatever that is.

8 January 2006

Andrew Pollock: [life] Hello America!

Where do I start? It's been an eventful couple of days... The flight to LA was uneventful. Qantas is certainly orders of magnitude more pleasant to fly with than United, even though we were seated in a bulkhead area. I had a 13-month old baby seated next to me (no, Mikal was on the other side), and he was about as well behaved as you could possibly ask a 13-month old baby to behave. Mikal also behaved himself. I had the intention of trying to get something approximating 8 hours sleep, as we arrived at LAX at 7am local time, but I only managed about 4 hours. I did spend about 8 hours with a mask on and my brain in idle, so I arrived at LAX being mostly coherent. Entering the US via LAX was a much less traumatic experience than I was expecting. The E-3 visa was accepted fine, and I now have an I-94 stapled into my passport. Quarantine involved getting looked up and down by a guy in a booth, who waved me through. We had 3 hours to spare (or about 2 by the time we cleared all the immigration/customs queues) and then hopped on a 50 minute American Airlines flight to San Francisco, hired a car and drove to Santa Clara. The accommodation we're staying in for a month is very spiffy indeed. It's a largish gated community of units. Mine's got a ground floor entry, but everything else (except the garage) is upstairs. When Sarah gets here, we'll put up some photos. The weather is lovely as well. Our first outing was to the Social Security office to attempt to get social security numbers. This wasn't as successful as I'd hoped, as we were too freshly in the country to show up on their systems, so we left with letters saying we'd get one within four weeks, when our details had been verified. Yesterday evening, we went for a general recce of the surrounding area, and checked out a supermarket. That was less disconcerting than I expected, although I don't think it was a terribly huge supermarket. Having a GPS certainly raises one's confidence when navigating significantly. Last night I discovered that all the keys in my apartment were not created equal, and that the two loose in the lock box on the front door were the only two that opened the unit, and the two sets on key rings on the coffee table only opened the amenities and my mailbox. So I got to spend a bit of time sitting on my front doorstep until the nice man from Synergy Relocations came out to let me in (except his key didn't work either, so he got to make conversation with a legal alien while we waited for someone else to come out with a key). Today, we drove around to see a shopping mall, and the first set of shops we found happened to be around the corner from an enormous (by my standards) apartment complex, which had some signage implying that it had vacancies, so we decided to get the low down on how renting worked before we did our rental tours. Casey drove us around in a golf buggy and gave a tour of what two different floor plans looked liked. It seems that in this part, it's standard for an apartment to include the refrigerator, dishwasher, microwave, washing machine and clothes dryer, which is good to know. Let me just say that if this is what living in an apartment complex is like, it's more like living in a resort. The place had pools everywhere, tennis courts, two gyms, a community centre, it was just unreal. It was also cheaper than I was expecting. We then went to a massive shopping mall to do some window shopping. Discovered Wetzel's Pretzels. Hope they're not too fattening... Tomorrow, I'm going to avail myself to the complex's gym, and generally get ready for the week ahead. Future posts will be in a new category, which I won't be feeding to Planet Debian as not to bore people. I will inflict Planet Linux Australia readers with them until someone asks me to stop. If you'd like a custom feed that excludes my American adventures, please let me know. I wonder if adjusting Blosxom's idea of timezone buggers up existing posts and aggregators like Planet in general?

Andrew Pollock: [tech] The quest for IPMI LAN access over down interfaces continues

Today I upgraded daedalus to 2.6.14. I had to backport yaird to stable, which wasn't a big deal. It's available here if you're interested. The kernel package for 2.6.14 from unstable worked fine otherwise. I had two motivations behind upgrading - inotify and another look to see if the situation with IPMI had changed. Well inotify just works, and is the bomb. I'm going to have lots of fun with it. IPMI, on the other hand is still broken, which makes me sad. As I've previously pointed out by way of example, LAN access to the base-board management controller via IPMI is impossible after Linux shuts down the interface. It's supposed to work, but the way Linux does it seems to stop it from working. I'd read that the problem was resolved in 2.6.12, and so dutifully tested it out on daedalus to my detriment. I also tested it on 2.6.14, but again, had the same problem (I remembered to schedule a deferred reboot this time). So IPMI with a box running Linux is all good as long as the box is actually running. I suspect if the box panicked and/or hung itself, it'd also be useful for rebooting it, but if you shut the box down and remove power, IPMI won't allow you to turn it back on again.

7 January 2006

MJ Ray: slef-reflection, re-reflected

Someone commented that the last post had a 2005 permalink despite being posted in 2006. Well, behind the scenes, there's been a bit of a change for the new year which wasn't quite ready in time.
Old production method
I fed email to a script that added it to the html page, then another script added that to the RSS feeds.
New production method
I make the html for the post (usually with an editor, but I could render an email or whatever) and then a script builds the RSS from the index.
As far as the outside world is concerned, the only changes should be from .html# to a simple / in the permalinks. Old posts stay where they are for now, until I get around to sorting and archiving them. (Update: ho ho, first upload was a bit wrong in two ways, but this one is better.) (Update 2: ho ho, planet keeps displaying items after they've been deleted from the feed, unlike other aggregators. Sorry, planet debian.)

MJ Ray: slef-reflection, re-reflected

Someone commented that the last post had a 2005 permalink despite being posted in 2006. Well, behind the scenes, there's been a bit of a change for the new year.
Old production method
I fed email to a script that added it to the html page, then another script added that to the RSS feeds.
New production method
I make the html for the post (usually with an editor, but I could render an email or whatever) and then a script builds the RSS from the index.
As far as the outside world is concerned, the only changes should be from .html# to a simple / in the permalinks. Old posts stay where they are for now, until I get around to sorting and archiving them.

4 January 2006

Axel Beckert: Blosxom Plugin Tagging Version 0.02: New Features

Just hacked a few new features for my Blosxom plugin Tagging. It now shows you how many times you’ve used that tag. The number is always shown as title attribute to the link, but can optionally also be shown in parentheses behind the tag name or by the (CSS based) font size and/or color (start and end sizes/colors configurable). Also some default values changed (to my current configuration :-). I saw that font size feature quite often during the last weeks and I liked it. I first tried to figure out, which system offers that feature and found that at least Serendipity’s freetag plugin offers it, but didn’t want to download Serendipity just for the plugin. So I decided, the algorithm for calculating the font sizes shouldn’t be that hard to find and coded it from scratch by my own. :-) And while coding it I noticed that changing the color instead of the font size could be done the same way and that this feature isn’t much more difficult. So I implemented it, too. Another new feature is that you now can configure the minimum number of postings a tag should have to show up in the list of tags. The result can be seen in my blog on the right side under “Available Tags”.

Now playing: Falco — Der Kommissar

Guido Trotter: Strange planet behaviour

On my ‘technology behaving weirdly’ series: As many other people I flooded planet debian with some old posts by upgrading to wordpress 2.0! The first strange thing is that of all my posts only the first two that ever appeared on the planet were showed again as new. The second one is that no flooding happened happened on QuaQuaPlanet, which is another installation of planet I use with some Italian friends…

3 January 2006

Benjamin Mako Hill: <cite>The Enemies of Books</cite> by William Blades

While searching for treasures in Widener's stacks recently, I found a beautiful 1896 edition of William Blade's classical book on book collecting and book maintenance: The Enemies of Books. The title and driving metaphor of the book won me over right away. Books seem like inert and relatively unobjectionable objects. Many people dislike certain books or do not care for books in general but who could be the enemies of books in general? Some people may not like books but William Blades is not one of these people. Blades loves books (Caxtons in particular) and has, to say the least, a long list of ways that he wants to see books treated. Anything that violates Blade's sensibilities becomes the enemy of William Blades. Blades is happy happy to speak for books in general. Enemies enumerated include both individuals like the "Bagford the Biblioclast", behaviors, occupations, nature, states of beings, children, and most women. There are chapters on fire, water, gas and heat, dust and neglect, ignorance and bigotry, the bookworm, other vermin, bookbinders, collectors, and servants and children. The book contains something for almost everyone. Blades opens a wonderfully out-of-date section on the danger of gas lighting in libraries stating that, "unfortunately, I can speak from experience on the dire effect of gas in a confined space." Who can't? Nowhere though, is Blades as worked up as when he discusses the evils done by bookbinders who trim (and who frequently overtrim) the margins of books while binding or rebinding them. Blades explains:
Dante, in his "Inferno," deals out to the lost souls various tortures suited with dramatic fitness to the past crimes of the victims, and had I to execute judgment on the criminal binders of certain precious volumes I have seen, where the untouched maiden sheets untrusted to their care have, by barbarous treatment, lost dignity, beauty, and values, I would collect paper shavings so ruthlessly shorn off, and roast the perpetrator of the outrage over their slow combustion. In olden times, before men had learned to value the relics of our printers, there was some excuse for the sins of a binder who erred from ignorance which has general; but in these times, when the historical and antiquarian values of books is freely acknowledged, no quarter should be granted to a careless culprit.
When collectors' turns comes up, Blades rants for pages on the evils of collectors who rip out the title pages or colophons of otherwise good books to build large bibliographic collections. As Mika was looking through the book, the title page fell from the old and rather fragile binding. It seems that we may have a candidate for a new addition to the book. On the other hand, perhaps we have a new distinction: the enemy of The Enemies of Books.

Amaya Rodrigo: Castration

I just came back from the vet. I left Vi and Emacs there and will pick them up after work, as today they will be spayed and neutered (450 EUR total). I am all shaky inside.
My little cats! (Well, not so little, as Emacs started acting like if she was in heat only a few hours before I had to take a plane for my Holidays, so I guess she is not so little anymore, nor is Vi, who seemed completely fascinated by her new behavior. Anyway, my vet knew this would happen one month in advance, when we were arranging an appointment for the surgery that will be performed today).

  


  

Good luck, my babies!

MJ Ray: GR to break promises and ignore copyright

Anthony Towns notes I didn't vote in the debian general resolution. I didn't vote for two reasons: the vote was held at a very bad time, when many of us have more fun things to do than debug misbehaving "holiday" mail systems, and I think the proposed worst outcome wasn't legal anyway, so the vote was irrelevant for years, any road up. I'm not delighted about the outcome, but it's better than it could have been.

2 January 2006

John Goerzen: New Mic Equipment

I wrote yesterday that I'm looking for a nice microphone. I decided to go mostly with the setup suggested by The Roadhouse: After assorted accessories (mic stand, XLR cable, pop filter, etc.) I wound up spending $143 at Musician's Friend. I just need a 1/4" to 1/8" adapter cable yet from RadioShack to hook this up to the audio input on a sound card (or my iMic USB gadget). Librivox sounds great and I look forward to volunteering.

1 January 2006

John Goerzen: Looking for a nice microphone

Kayray has been writing recently about librivox, a project to make public domain audio recordings of public domain material (much of it present in Project Gutenberg). I'm interested in volunteering to read some material. But I don't have any nice microphone. After doing some research, it looks like I'm down to a couple of different options. The first option is described by The Roadhouse. It has a $60 MXL 990 mic and a Behringer Eurorack UB802 mixer at $50. I assume that he is running an output from that into a standard sound card. So the total cost of that setup would run around $110. I don't really need to mix more than one source, but having something that can power condensor mics with XLR connectors looks good. The second option is to get a dedicated USB mic. The mic of choice here seems to be the Blue Snowball at about $140. I don't know enough about this to know which setup would get me the best quality for voice recording that is going to be going to wind up digital on the PC in the end. I guess the third option is something such as the m-audio mobilepre USB preamp at about $120. So if I used that with the MXL 990, I'd be talking about $180. That's rather more than I'd like to spend, but it would give me more options down the road. If any of you have suggestions, I'd be happy to hear them.

Joshua Kwan: ALAC decoder hacking

On the advice of one of my Mac-using friends, I read this article on Slashdot. Pretty cool, I thought, and fairly relevant seeing that I am still actively hacking on ify. As one might expect, I concluded that it would be pretty neat if ify were the first tool to be able to simplify conversion between ALAC and other formats like FLAC, MP3, and Ogg Vorbis. At about 1:30AM, I realized that the first hurdle was that the ALAC decoder did not have a facility to access the metadata in ALAC files. At 5:30AM, I was pretty much done. This required me to study the QuickTime container format, I had to understand the ALAC decoder API, then I wrote the code, then debugged it to hell while I continued to familiarize myself with the nature of the QuickTime format. (I don’t know about you, but that hacking session felt like 1 hour. Maybe 30 minutes even.) By that time I had added support to ify to use the new extension to the ALAC decoder. (here’s a patch if you’re interested.) With the help of said Mac-using friend I got some ALAC files (hey, they are actually from albums I own) and tested them this afternoon after 42nd rehearsal. Behold:
darjeeling:~ 0 % alac -i 2-11 Stop.m4a
Available track information:
title: Stop
artist: Pink Floyd
album: The Wall (Disc 2)
disk: 2
date: 1979
tool: iTunes v4.7.1
tracknumber: 11
genre: Rock
darjeeling:~ 0 % flacify 2-11 Stop.m4a
[alac->flac] 2-11 Stop.m4a
darjeeling:~ 0 % ogg123 2-11 Stop.flac 
Audio Device:   OSS audio driver output 
Playing: 2-11 Stop.flac
FLAC stream: 16 bits, 2 channel, 44100 Hz
Track number: 11
Album: The Wall (Disc 2)
Artist: Pink Floyd
Disk: 2
Tool: iTunes v4.7.1
Date: 1979
Title: Stop
Done.
Pretty…

31 December 2005

Decklin Foster: Stabbing in the dark

There, I think I finally disagree with Language Log. Honestly, why do you think we don t teach linguistic analysis of any sort at all anymore? Because literature and composition classes have become the same thing: the best compromise for a set of conflicting requirements. We can do better. Any incompetent moron can teach you pointers and recursion. No, it does not matter if they are using a language you consider boring and ugly. But what they cannot teach you is how to think. Which one is your problem space? Programming languages do not map onto natural languages. Yes, you learn Latin so you can grasp grammar, logic and rhetoric. You do not learn $LANGUAGE so you can grasp pointers, recursion, and typing. You learn pointers, recursion, and typing so you can grasp clarity, expressiveness, refactorability, efficiency, and how to turn a mental model into a computable abstraction and vice versa. Learning the programming language is like learning how to hold a pencil and use a piece of paper so you can write the Latin words. It s kindergarten stuff and half of us can t teach it to college students. No, it doesn t matter if you use a pen instead. I suppose it doesn t matter if you have to use a typewriter with no whiteout and one hand tied behind your back, because that is very popular, or whatever. Or maybe you think it does. But stop acting like that s the fucking point. Both of you.

30 December 2005

Matthew Garrett

Things to do if someone tells you that they think you're breaching their copyright:
Things not to do if someone tells you that they think you're breaching their copyright:

27 December 2005

Joey Hess: all this for a progress bar?

Over the past months we've been working on a big change in the debian installer, removing base-config from the installation process. Doing this has required a great many changes, some of them user-visible. The installer now configures the timezone, users and passwords, and apt all in the first stage instead of after rebooting. Some preseed values have been removed or changed, including base-config/early_command and base-config/late_command. The biggest change of all, the the hardest to get working, has been moving of the selection of tasks and the installation of all packages into the first stage of the installer. Now tasksel pops up a debconf question that looks like any other question d-i asks, and the installation of packages is hidden behind a nice clean progress bar, and if any packages use debconf to ask questions, d-i will display those questions using its frontend too. I'd include a screenshot, but really, it's just another progress bar, how boring is that? By the way, if you maintain a debian package and it prompts without using debconf (when debconf is available), then your package will obviously break this, and it's well past time to fix it. I think that all the packages d-i installs do use debconf except for possibly a few like libc during upgrades. Upgrades are theoretically possible at this step for any packages debootstrap installs, so those will need to be fixed too. This has been a long, long time coming. Some milestones include: So yeah, this has been in er, progress for 8 years, and at least three Debian derived distributions have come up with thier own approaches in between with only the last one being quite similar to the end result, and the other two being rather dead. I don't know whether this is a study in how Debian is slow, or a study in how we do eventually come up with infrastructure that is done right and ends up being used by everyone. Or both.

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

Matthew Palmer: Making DVD Movies

I recently came into posession of a collection of (smallish) WMV files containing photo slideshows. Unfortunately, they don't play on my DVD player, and SWMBO's laptop has No Hope of playing anything remotely like a video. So, technology to the rescue. Initially, I was just going to convert the movies into something that the DVD player would actually play, but by the time I had those, I was 95% of the way to doing the job properly, and it would (of course) look far nicer with menus and other Shinyness (instead of just a boring file menu), so I went all the way and made a complete DVD movie disc. The whole process was non-trivial to discover, but ultimately straightforward in practice (once you know the set of command line options to use), so I'm archiving this for posterity. I use Ubuntu Breezy. A lot of the packages I've used are under really heavy development, so slightly older versions may not work. If you're running another distro, finding compatible versions may be tricky (or not). Try the process with whatever you've got; if it works, great; if it doesn't work, try upgrading versions or something. Step 1: Convert Video Files To Something Less Bong Packages used: transcode 1.0.2-0ubuntu2 (trivial backport from Dapper; mail me if you want it, but the one in Breezy will probably work OK), mplayer 1.0-pre7cvs20050716-0.1ubuntu9, mjpegtools 1.6.3+rc2-0.0ubuntu2 As far as DVD players are concerned, WMV is non-existent (clever things). DVD players like some form of MPEG-2 video with AC3 or MP2/3 audio. So, we use transcode to convert the video. For WMV files in particular, only mplayer does the decoding right (the af6 plugin seemed to work, but the resizing didn't turn out too well). So, our command is:
 transcode -x mplayer -i $FILE.wmv -g 640x480 -e 44100,16,2 -o $FILE.tc --export_prof dvd-pal
Items of note: As I mentioned, the output from the transcode run is two separate streams -- an audio and a video stream. We want to combine them. This is quite easy:
 mplex -f 9 -o $FILE.vob $FILE.tc.m2v $FILE.tc.mpa
This is a simple "glue them together" command -- the only interesting bit is -f 9, which simply specifies a particular MPEG-2 multiplexing method (full DVD-compatibility, or some such). If things aren't working out for you, try -f 8, which I believe also works. Since you'll probably have a bunch of video files to convert at once, you'll want to automate all of this with a shell script or shell 'for' loop. Step 2: Make a DVD Layout Packages used: qdvdauthor 0.0.10-0.1 This is the bit that I thought would be hard, but is actually amazingly easy (the previous step took me two days to get completely right, this bit took me about an hour). Fire up qdvdauthor, answer any stupid questions it might come up with. When the main screen comes up, click on the 'Add Movie' button on the left hand side, then select the first video you want to add. Repeat as required to add all of the videos you want. (Remember to add the VOB files you created earlier, and not the WMVs you might still have laying around. D'oh!) Clicking on the 'Video' tab on the left hand side should list all of your videos. Check they're all there, and are the correct size. Next, create or find a suitable background picture or video to make your main menu background. I've only tried with an image, but it seems to accept videos if you give them to it. Click on the 'Add Background' button on the main qdvdauthor screen. Pick your image. The image will probably need resizing; just go with the flow and pick the correct image size. Now you need to add those funky little menu items for selecting on. This is the really cool bit. Right-click on the background image you've got, and select 'Add Text'. Drag on the background to create a text box. You'll get a dialog come up, type some text in the bottom box, then click 'OK'. This'll create the text on the background. Drag it around if you need to. Finally, right-click the text and select 'Define as Button'. Another dialog box will appear. Rename the button if you like, then pick which video you want to play from the select box marked 'vmgm'. Click 'OK'. Repeat as necessary. That's all the hard stuff done. You can add a sound clip to play over and over again if you like, but I haven't done that yet, so you're on your own there. Step 3: Make the DVD For this step, I needed to compile toolame from source. Get it from http://toolame.sf.net/. This is super-simple. Basically, just click on the giant icon labelled 'DVD' in the top toolbar. Follow the prompts. Click 'OK' as necessary. When the process is done, check the 'Keep Open' checkbox quickly, and go over the output to ensure nothing completely crapped out. Assuming all is well, you can make your DVD image by running:
 mkisofs -dvd-video -udf -o /tmp/dvdimage.iso $DVD_DIR
Naturally, replacing /tmp/dvdimage.iso and $DVD_DIR with appropriate values. Lastly, cook the ISO to appropriate media with something like:
 cdrecord -dao -eject -v speed=2 dev=1,0,0 /tmp/dvdimage.iso
Assuming all went according to plan, you should have a physical DVD you can stick in your DVD player and watch to your heart's content. Congratulations! You just did all of this in about a 50th of the time it took me.

Next.

Previous.