Search Results: "tar"

30 November 2006

Ben Armstrong: A pcsx mythgame player using xautomation

Scripting a gui tester for Tuxpaint with xautomation was fun and quite useful too, but really only appeals to developers. Today I found use for xautomation that will appeal to sys admins and users: hacking around a user interface that refuses to work the way it ought to. I wanted to add another mythgame player, this time for the pcsx-df Playstation emulator. Unfortunately, I couldn’t pass it a CD image from the command line. It seems to know only how to do two things: run a game file, or run a real CD. My best guess is that it doesn’t know its plugins until the GUI starts, so it is unaware that it ought to be able to use the cdrmooby plugin to load the specified image when it is parsing the command line. After a brief and fruitless grep through the source, it dawned on me that I could put xautomation to work for me to do the job in much less time. Here is the resulting startpcsx script, which sucessfully operates as my pcsx mythgame player.
#!/bin/bash
slowtype ()  
   echo "$@"   sed -re 's/(.)/\"str \1\"\n\"usleep 15\"\n/g'
 
pcsx &
xte "sleep 2" "keydown Control_R" "key o" "keyup Control_R" "sleep 1" 
slowtype "$@"   xargs xte
xte "key Return" 
The hard part was that pcsx is afflicted by one of my pet peeves, a typeahead find that cannot be disabled. As a result, if you make xte type at full speed into the open file dialog, the filepath comes out all jumbled up. This happens because the filepath is constantly being redrawn as xte types characters, so the cursor isn’t always at the end of the line. The usleep 15 allows the cursor to reach the end of the line before typing the next character. Of course, this is truly a hack, subject to variations in timing between systems, so if you use it, you may have to tweak the sleep and usleep values. But it works well enough as a workaround until pcsx-df is fixed to accept a CD image on the command line.

29 November 2006

MJ Ray: Firmware: Ubuntu's Choice

Scott James Remnant summarises the different path taken by Ubuntu about firmware as having set them on Slippery Slopes. As a reaction, FSF has backed an Ubuntu-based distribution which takes a more debian position about programs (but not manuals) called gNewSense Alex Valentine commented:
"Yet another FSF forking project, quite an innovation. Let's take an existing project that works fine and make less compatible, in the name of "freedom," and plop a bunch of Gnu/ GNU/labels/."
Ubuntu seems to be getting criticised a lot this week and there's enough people who don't think it "works fine" to start a distribution. JOOI, what else were FSF forking projects? I can think of several reimplementations, but not that many forks. thebluesgnr commented:
"An Ubuntu guy complaining about forking... unbelievable."

Gunnar Wolf: Yet again, bitten by a meme

I came across Adam's post inviting everybody to participate in a simple meme propagation speed and path tracking experiment. Well, I bite. Here I am. Some points to consider (for Acephalous, who started and tracks this meme): If people like me read Adam's blog via an aggregator (Planet Debian), and when I post I I get syndicated at the same aggregator, won't this disturb your metrics/readings? Or if I know I'm syndicated at least in two aggregators (Planet Debian and Planeta Linux M xico - If there is another one, please tell me :) ), won't that also influence somehow?

Wouter Verhelst: Grep.be (and related)

Yes, my domain has been off the net for quite a few days now. This was related to the Internet connection that's in front of most of that domain being down. I'm quite very extremely unhappy about that. It's not as if that connection is a cheap one, and I would've expected a slightly better service for the price I'm paying. As it turned out, it wasn't my ISP's fault, but then still. Of course, it's all working again now, and I'm a bit happier. I will start thinking about making sure this connection is no longer an SPOF, however. That should help...

Eric Warmenhoven: Breeders

As I said a while back, Lisa and I had been in the process of finding and buying a new house. A few months ago, we found one, and moved. We left behind a bit of our furniture that we have had since we were in college, and since then have been in a rather involved process of finding furniture that we’re willing to live with for the next few decades or so. It’s been a rather painless process for me, since Lisa’s been doing all of it. I just have to stay alert for when new things show up. I still tend to miss lamps. We were in the process of selling our townhouse; but after a few months we only had two offers, and both were significantly below our asking price. So we’ve taken it off the market for now, but will list it again in the spring. Fortunately for us it’s paid off, so other than property tax, it isn’t too big of an expense. We considered renting it but have friends who did that and their experience has convinced us that we’ll never rent anything ever. Also, a couple months ago, after we moved, we found out that Lisa’s pregnant. We’re both really excited about it. We had been married for just less than a year when we found out, which doesn’t seem like a long enough time, but we had been together for seven years prior to that. So it seemed like a good time for us. We have our third ultrasound in a couple weeks when hopefully we’ll find out the baby’s gender. Lisa’s hoping for a girl, but she thinks it’s going to be a boy; I think it’s going to be a girl. Everything seems to be going well so far, and Lisa’s starting to show a little. We haven’t started doing any of the baby-related things yet, like picking names, or setting up a nursery and buying a ton of crap that will probably end up being mostly unused. We did receive our first baby-related gift from my grandmother though, and Lisa’s grandmother is busy knitting booties and blankets. One of these days we’ll probably head over to Babies R Us and set up a baby registry, but probably not until after the new year.

28 November 2006

Enrico Zini: live-cd-on-removable-disk2

Live CD on a removable disk, the Debian way In [live-cd-on-removable-disk] at some point I wrote:
Enrico's note: do we have anything in Debian that we can install and just does that?
Here are the answers: Sven Mueller writes:
Well, Enrico, a tool I really grew fond of, which auto-configures X on Debian systems is xdebconfigurator, it lacks being auto-run on each system start, which I consider a feature on normal systems, but for your proposed usage (i.e. a portable USB-storage based Debian system), it would certainly be the right thing. Essentially, it never failed on me. Except for VMware virtual machines, where all it did wrong was that it proposed too high resolutions which resulted from my dual-screen Windows setup I ran VMware on. You might want to give it a try.
Tollef Fog Heen writes:
I added the support in casper for doing this almost a year ago and it has saved me lots of debugging time. Booting the live CD that way is almost as fast as booting an installed system. If you couple this with using the persistent storage support in casper, you can get the configure-on-boot support together with persistency. In a later update, slh is quited saying that xresprobe doesn't work on AMD64. This is wrong, I wrote that support based on code by Matthew Garret a little more than nine months ago. I wouldn't recommend incorporating it in new-written code, but rather use libx86
And finally, Marco Amadori writes:
Without needing to look for tools external to Debian, there is already the Debian Live software in sid: live-package, that creates a live system, and casper, that generates an initramfs that can configure a Debian system on the fly. So far there is no hard disk target for live-package, but the "Iso" target can already do the job quite well. At boot time, Casper's initramfs scans all the block devices, so it works also for USB keys and hard drives. To obtain a hard drive image, you just need to invoke "make-live" with the options to have the required software, then copy the content of the iso (or of the directory ./debian-live/binary) on a partition and install the boot loader. This is what the future "HD" target of live-package will do; so far it can only build ISO and Netboot images.

Daniel Jacobowitz: Triumph over emacs at last

I do about half my text editing in joe, and half of it in emacs. It's just what I've gotten used to; for a year or two I used primarily joe, and I gradually migrated until I did most of my programming in emacs instead, but I still do random text files in joe. I've been gradually trying to migrate to emacs; not least because upgrading joe has gotten to be such a pain. I use jpico rather than joe, you see. But I started using it a long time ago, probably around when joe 2.8 was current in Debian. And the jpico key bindings keep changing! Which is infuriating, so I keep having to rewrite my keybindings to stay mostly the way I like them. I like that emacs is such a smart editor. Especially since it defaults to all sorts of nice GNU-ish settings and most of my C is for GNU projects. But when I work on other things, I have to learn how to make it either disable smarts or use appropriate ones, so in self defence I keep learning new things about emacs... One things I've been annoyed at before is the binding for scroll-other-window. You can split a window into two (C-x 2). I often do that while writing a changelog up top of a patch file, whether I'm using joe or emacs at the moment. An advantage of emacs is that you can scroll the window that the cursor isn't in, paging down through the text you're describing while keeping the cursor where you're writing. But it's bound by default to C-M-v and C-S-M-v (control-meta and control-shift-meta). Hard to hit C-M-v, and impossible to enter C-S-M-v; you can not distinguish Control and Control-Shift in a vt100 terminal (like, say, inside of screen). Fortunately, you say, it's also bound to M-next and M-prior (meta-page down and meta-page up)? Well, yes... but... you can't type that either at a terminal. Normally. I can now though. Fixing it took two parts. First, I discovered that Meta-next sent the same sequence as plain next, in my xterms. I think I've convinced myself this is a bug in xterm. My keymap, which is a pretty standard pc(pc105)+us+altwin(meta_win), has Super_L and Hyper_L bound to modifier 4 along with Meta_L and Meta_R. xterm sees these strange keys and decides that mod4 must be some sort of "other" modifier, in code that looks like it's for handling num lock. Fortunately, I can work around this easily. I don't have a Super or Hyper key, so I deleted the bindings by adding this to my .xsession:
  xmodmap -e 'remove mod4 = Super_L'
  xmodmap -e 'remove mod4 = Hyper_L'
UPDATE: This will be fixed in xterm #223, since Thomas Dickey agreed it was a bug. Next, I discovered that emacs didn't recognize the sequence produced after that fix. It didn't recognize C-next or A-next either. So I added this to my .emacs:
  ; Key magic.  Emacs nor terminfo normally have bindings for these.
  ; The meta binding in particular takes a bit of X magic also; see
  ; the xmodmap call in /.xsession.
  (define-key function-key-map "\e[6;5~" '[C-next])
  (define-key function-key-map "\e[6;9~" '[M-next])
  (define-key function-key-map "\e[6;3~" '[A-next])
  (define-key function-key-map "\e[5;5~" '[C-prior])
  (define-key function-key-map "\e[5;9~" '[M-prior])
  (define-key function-key-map "\e[5;3~" '[A-prior])
That really should be conditionalized on the terminal type, but I didn't want to mess with it any more. And now it works. Woohoo!

Gunnar Wolf: Are Debian people real Free Software zealots?

Wow... The amount of press/coverage inside the FS community (not necessarily good press) the Ubuntu people are receiving lately is huge. I smell the possibility where Canonical might face what many people call the ugly side of Debian - But what we, the insiders, call it the most important part of it: Our people's devotion to the Free Software ideals. Of course, even inside Debian there are all kind of opinions (to the point that Debian's main activity seems at times to be debating rather than coding), but the general perception is that we are the fundamentalist zealots.
It's only funny to imagine what lies ahead. No, I'm not talking (for people not following planet.debian.org) about Ubuntu's latest big media scandal, although it might share some connections. Apparently, Canonical wants to grow and bring more people in. And, of course, being a commercial desktop-oriented distribution, being flashy (or in their words, going for the bling) is needed to keep up with the Joneses.
This time, it starts (for me) with Scott's interesting and worthy posting regarding the future of binary blobs and clearly non-free drivers inside Ubuntu. In short: Scott explains why Ubuntu will apparently sacrifice some of its ideals for (what I read as) some extra popularity, and states he is not too happy with it. This, of course, has triggered a load of postings - not necessarily in chronological order, but: Mako, also an Ubuntite, asks people (users, developers) to tell their opinions on this - But he is not at all happy with the direction this might take. Many Ubuntu enthusiasts are voicing their opinions in Wiki form. I guess that Joey's peace of mind comes also because of this discussion (although I'm only stretching my views).
...There is always the debate of whether Ubuntu is good or bad for Debian, as Norbert points out. I've tried to stay away from it, quoting one of Luis Echeverr a's famous it's neither good nor bad, it's just the opposite. I do think the two systems will eventually diverge too much - But I'm not at all involved in Ubuntu, and I refuse to back my claims ;-)
The point of this posting is: When forming Canonical, obviously Mark wanted to gather the best of the best, people who knew their way developing and coordinating an eminently Free and high-quality distribution, but without the distraction of 1000+ developers trying to pull the whole distribution their way. By being the boss, he can ensure a single vision (and not a multitude of egos) drives the excellent work of talented hackers. However, there might be a subtle mistake: Maybe his team are too Debianites? Maybe they will show they are as strongly Free Software (and not Opensource) oriented as they were when they joined Debian? Maybe, even with the unlimited powers that being a SABDFL gives, Mark and the Ubuntu technical committee/community council will have to concede on not having the latest and flashiest, just to keep his elite team happily working?
I'm not, of course, blaming them for selling their principles - Of all the commercially-oriented Linux distributions, Ubuntu is clearly the one that stays closer to what I'd like. And it's not by mere chance that it derives and keeps in constant sync (at least until now) with Debian. Still... This has the potential to make a big dent on their structure and vision.

Adrian von Bidder: The Debate is Here to Stay

David Nusinov says:
when a prominent DD gets busy in his personal life, we don't say that his personal life is trying to kill Debian. Similarly, when a prominent DD gets hired somewhere and gets very busy and he doesn't have as much time for Debian, we don't say that the employer is trying to kill Debian.
Going to work for on a Debian derivative is a bit different from going away from Debian to spend time as a new father/mother, or working as a MSCE, or whatever. If things are done right (by the employee, by Debian, by the employer), work spent on Debian derivatives can benefit both Debian and the derivative. I believe this even happens in many cases. One other point: Looking at the whole Dunc Tank debate, I guess hiring some people to work on Debian directly (which is just what I might do if I had spare cash in large amounts) wouldn't necessarily improve matters a lot, it'd just shift the debate (ah, he's trying to buy Debian...). Myself, I'm not entirely sure if the existence of Ubuntu is good or bad for Debian. More attention to .deb-based distributions is a good thing, certainly (I was astonished to see in a local bookshop that Ubuntu and SuSE were the only boxed Linux versions you can buy. No Fedora, nor Mandrake, nor Xandros or any of the others.) OTOH it would certainly be nice if more people would use (and then report bugs and start to help fixing them) Debian itself. But I can't see this happening anytime soon with our community as it is now. And then there's the 'it's good enough for us' and 'we don't want no steenking newbies' lines of thought. While I don't agree with the first one, I admit that finding a compromise between a newbie-friendly and gadget filled system for desktop use and a rock-stable professional tool is not easy. Two different sets of install CDs might be worth a try.

Daniel Burrows: Digging for Conspiracies?

While I appreciate the research and legal commentary over at Groklaw, the tendency of PJ and the regular posters to imagine vast conspiracies makes me more than a little uneasy. Yesterday I came across a truly jaw-dropping example that would be offensive if it wasn't so laughable; and since I happen to know more about the situation, I felt I should comment on it:


I have some questions about this group, BELUG, who did the article, I gather. There is no info on the site to be more informed. Anyone in the Seattle LUG know anything about this new group in Bellevue, 5 mins. from Bill Gates' house?

...

I don't like to be a cynic, and maybe they are a Linux user group, but if so, maybe the Seattle LUG can give them a hand.


Of course, we all know that the Microsoft corporate campus has an enormous mind-control ray mounted on Building 1 that turns everyone living on the Eastside of Seattle into mindless Gates-worshipping zombies. Part of Bill's personal security plan, dontchaknow. That's why BELUG starts every meeting with a round of "All Hail Gates, Lord of All That Is Electrified".


She goes on to complain about "major confusion" in their description of free software. At a quick read, I can only see two glaring problems with this page: first, they describe free software as being both "free in a monetary sense" and able to be sold (which is actually true but sounds like a contradiction without more explanation that they don't provide); later, there's some weird wooly-headed stuff about revolutionizing entire economies and societies. I don't know what they're talking about, but they certainly can't be accused of lacking enthusiasm.

Finally, she quotes a section of the FAQ that suggests that Microsoft professionals should learn Linux and vice versa, since the world is heterogenous and getting more so. I don't think that's controversial, so I think she must be referring to this question:


Q: Why does BELUG dislike Microsoft?

A: That is a complete misunderstanding. BELUG does not dislike Microsoft. Microsoft is our neighbor, and many of our friends and relatives work there. Both Microsoft's headquarters and Bill Gates' house are located just minutes away, and Microsoft's world sales headquarters is currently under construction nearly adjacent to BELUG's meeting location. BELUG merely believes in friendly competition and that competition can benefit everyone, including Microsoft. This is what a free market economy and the American system is (supposed to be) all about, and this is what has helped make the U.S. a great country.


The statement that Microsoft is nearby is nothing but geographical fact (I could walk about fifteen minutes from my apartment and be on the MS campus; does that make me an MS mole?).

As for the rest, I really don't see anything to complain about. I know some people like to rhetorically shred Microsoft at every opportunity, but if you're trying to attract members in Microsoft's hometown, it's wise to keep your comments polite. It's also true that Microsoft benefits from competition (even if they don't see it that way); I don't think it's a coincidence that their products started sucking drastically less as OSX and Linux became reasonable alternatives to Windows. And the fact that we can have friendly competition (as opposed to the cut-throat, take-no-prisoners style that's popular in some quarters) is exactly one of things I like about Linux. You will notice, however, that the Q&A carefully doesn't mention what sort of competition Microsoft engages in. I think anyone who knows anything about the company knows the answer to that one.


Here's the kicker, though: I actually attended a BELUG meeting a few months ago. It seemed pretty much like what I'd expect from a small group of volunteers: one guy gave a talk about hooking ALSA up to a digital audio receiver, another guy showed off a Unix kernel he had written for classic MacOS (it ran as a user process and presented a Unix-like interface to the Mac), someone passed around cookies, and people talked a bit about using Linux and so on.

The poor quality of the Web site and the lack of a mailing list probably reflect the fact that there are a handful of people organizing the thing who all have day jobs and other committments, not some vast Microsoft conspiracy to undermine Linux from the inside by setting up fake LUGs. PJ never said they were fakes outright, but it was a clear subtext of her comment, and the Groklaw regulars who replied knew exactly what she was getting at. If she really thinks they might be fakes, then I think she needs to take a break from watching SCO (which could make anyone paranoid and suspicious) and enjoy the holiday season instead.

Antti-Juhani Kaijanaho: Upgrading WordPress the sane way

I finally got around to upgrading the bunch of WordPress blogs that I administer. I do not use the the Debian package, instead each blog is a separate copy, some with customizations. The official instructions make it a pain to upgrade customized WordPresses, so I have used another technique for a while now. This technique assumes a Unix-style system with all the usual goodies installed and command-line access, as well as Unix competence of the person performing this operation. I leave it to others to write step-by-step instructions for people lacking such competence (feel free to leave a comment). Step 0: Back up all your WordPress installations! Step 1: Make sure that you have a copy of the vanilla WordPress directory (unpacked from the zip or tarball and not changed afterward) for the version that you are currently running. I have it (in this case version 2.0.4) as the directory wp-2.0.4. Step 2: Download the new version, unpack it and rename the unpacked directory to include the version number (in this case, wp-2.0.5). Step 3: Create a patch file for this upgrade by running diff -Naur wp-2.0.4 wp-2.0.5 > ~/wp-2.0.4-2.0.5.diff. Step 4: Eyeball the patch to see if it looks sane. (I have on one occasion created a patch that deletes the whole WordPress installation. That is not fun. So check that the diff is sane!) Step 5: Apply the patch to your WordPress installation by changing to the WordPress installation’s directory and running patch -p1 -i ~/wp-2.0.4-2.0.5.diff. Step 6: If patch rejected some hunks, eyeball the .rej files to see if you need to manually merge the changes in. This should only happen if you have customized the installation. Step 7: Run the database upgrade script by going to the admin page and following the instructions. Step 8: Verify that it all works. *** It is also possible to manage the installations in darcs or in other version control systems. I haven’t bothered with that yet.

John Goerzen: Renovation: Weeks 19-22

It's been a few weeks since my last house update.

I've posted some new photos of the project.

The new insulation has been sprayed. It's a foam type of insulation that dries solid. It not only acts as an insulator, but also as a sealant, filling in little cracks that could let air in and out of the house. In some places it is up to 12 inches thick -- mostly in the attic.

After that, work on the drywall began. By this point, it's pretty much done and interior painting should be starting this week. After the painting, the next thing will be the floor restoration.

Concrete work got started last week. The porches are being re-built now, and in the photo below, you can see the forms starting to be in place for them.

So the appearance of the interior has changed dramatically over the past few weeks, mainly because there are now walls there.

Here's the usual sample photo:

Matthew Palmer: VLAN adventures

Have you ever had a need for a large number of "real" network interfaces on a Linux box? For security reasons, you don't just want to hook everyone up to a single switch and use virtual interfaces (because it's too easy for one of the connected devices to play silly buggers with his neighbours). Up to a certain point, you can stuff more NICs into a box, and when it fills up you can switch to those outrageously expensive 2- and 4-port NICs. But eventually you're going to run out of space[1] or money. At that point, you need something more interesting. For me, this week, that "more interesting" has been Ethernet VLANs. Linux Journal has a good intro to the technical aspects of how to setup VLANs and Linux. VLANs are some crazy stuff. They're implemented by wrapping a little number around every Ethernet frame indicating which VLAN the packet is "on", and the switch (you need a higher-end device, appropriately configured) makes sure that packets don't roam onto ports they're not meant to be on. For a single switch, this isn't very interesting, and you don't really need an IEEE standard to make it work -- just a lot of little jumpers. However, VLANs are mostly useful on larger networks, which tend to use more than one switch. So you need a way for your VLANs to roam amongst your switches -- hence the packet tagging. You stick the tag onto the packets and fling them off to another switch, and packets coming in with the tag are corraled into their VLAN. Naturally, you don't want end-user devices whacking their own VLAN tags onto packets (untrusted data, and all that), so you define most of your ports as being "untagged". Packets that come in on these ports are treated as regular ethernet frames and tagged with the appropriate VLAN ID, and packets that go out have their VLAN IDs stripped before being sent. (This implies that you can tunnel VLANs in VLANs, and I'm pretty sure that is doable in most switches, modulo some nasty problems that can, and probably will, occur). The ports that aren't designated "untagged" spit out tagged packets -- and this is where my interest lies. Like most every other computer-related standard, Linux can decipher and work with VLAN tags (the 8021q module is what you're looking for). You just load up the module, hook your NIC into the appropriate port on your very expensive switch, define your VLAN tags with vconfig, and suddenly you've got vlanN interfaces, which map to real RJ-45 ports, and you can hang network devices off these and get lots and lots of "real" network interfaces on your Linux router. It's all so simple, right? Nothing ever is, of course. The trials and tribulations I've had over the past two days have included: Thankfully, once all those dramas were done, the whole thing just kind of fell into place, and now I've got a machine which has up to 2048(ish) network interfaces (with huge, glaring caveats on that upper bound, of course). With a bit of luck, the live installation in a couple of days will go smoothly. You can stop sniggering now.
1. In this case, there wasn't a lot of space to begin with, as it's a 1RU box I'm working on, and the 4-port NIC didn't want to place nice with me for some reason anyway.

Clint Adams: Smoke between sixth and seventh

Minextel pace Michael bah villes, I muttered. He says with pride, she scoffed. Il bastardo, he insisted. The white dog stared, eyes blazing.

Benjamin Mako Hill: Bring the Bling?

I'm been perplexed by the recent fracas around the possibility of Ubuntu shipping non-free drivers by default as part of the feisty release goal to bring the bling. The issue has been discussed by many people, most recently and eloquently in a blog post by Scott James Remnant. I have never been 100% comfortable with our (Ubuntu's) decision to ship proprietary drivers. The Ubuntu philosophy document -- which Mark Shuttleworth and I drafted originally -- says quite unambiguously:
Every computer user should have the freedom to run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees.
I believe this deeply. Consequently, I feel that binary drivers in Ubuntu are, and always have been, a failure to live up to our principles. If our philosophy document is still representative, most people in our community should be a little uncomfortable with them -- even if they think, as most of us do, that shipping them is the correct thing to do. Early on Ubuntu decided that binary firmware and hardware drivers would be distributed and quasi-supported in restricted. While not completely comfortable with the move, I could understand and defend it for three reasons:
  1. The drivers were easily removable and not enabled by default unless necessary to achieve functioning hardware.
  2. As part of this process, we promised to work with vendors to accelerate the freeing/open-sourcing of their drivers.
  3. Perhaps most importantly, I couldn't imagine not using them if it were the choice between non-free drivers or inoperable hardware.
The proposal to include proprietary nVidia driver in place of the existing free nVidia driver is important because it changes, or eliminates, the first and third justifications. Since the first issue has been discussed in depth, it seem appropriate to focus on the third and final point. The point is perhaps best introduced with an observation:
While I have met many people who research and buy hardware to avoid the need for non-free drivers, something I do myself, I have never met anyone who voluntarily chooses inoperable hardware on a computer they use over working hardware through a non-free driver.
While not airtight, this observation is precisely why the old policy of using non-free drivers only when no free drivers exist works so well. By effectively synonymizing use of the non-free driver with use of the hardware, the crisis created by non-free drivers is rendered paradoxical: anybody using a piece of hardware that only works with non-free drivers is, by definition, either using non-free drivers or not using the hardware. The only way to not use non-free drivers in situations where no free drivers exist is to not use hardware that requires them. If you use different hardware, you will not need to use non-free drivers. This important justification is completely inapplicable to the proposal to include non-free drivers in place of free (but not perfect) alternatives. Second, while shipping non-free drivers is wrong because we lose our freedom and violate our philosophy, the desire for basic hardware support is universal and important enough that it's defensible. One reason that the "binary by default for bling" situation alarms me is that I don't believe that the desire for desktop bling is as universal, or as strong, as the desire for working hardware. An analogy might be stealing food to feed your family and stealing a CD from the record store. Both are wrong because stealing is wrong, but I have a lot more sympathy for the hungry thief in the first example because CDs are not as necessary as food and because many people would rather go without a new CD than steal. We can ask: "Which is worse: selling your soul for a decent job or selling your soul for a PS3?" In an absolute sense, neither is worse; but it's easier to support the former than the latter. I'm very impressed with Beryl -- but I have trouble empathizing strongly with the need for a spinning desktop cube. New users may be impressed and attracted to an Ubuntu desktop powered by proprietary drivers. They might also be impressed by proprietary applications. However, it is self-defeating to attract new users to our free platform and principles by compromising our core values. Many users already make the decision to use non-free video drivers and Ubuntu makes it very easy to do so once they have made that choice. Installing binary drivers by default is choosing for the large number of users who will stick with any default. It may be a conservative stance but as long as we believe that a non-insignificant number of users would choose to live without bling before compromising Ubuntu's philosophy and goals, we should make the difficult decision to side with freedom by default. When discussing this issue, many people say, it's not my decision or it isn't my call. Regardless of whether anyone agrees with me and regardless of who the final decision is up to -- and it's not clear to me now -- I believe that the Ubuntu community has the power to inform and shape the development of their distribution. As the Ubuntu community, we can make our position heard. The best place to do that right now seems to be the Accelerated X specification comments page. One can also email the the Technical Board (for technical comments) and the Community Council (for principle or philosophy related issues).

27 November 2006

Ben Armstrong: Home video hub on a shoestring

In our family, we have centralized all our best entertainment technology in a single system, a white box amd64 with PVR, 3D graphics, 1G, a 21” monitor, DVD burner and VCR. A number of older, far less capable systems have always surrounded this “hub”. A K6-2/400 with a less-than wonderful ATI Rage IIc graphics card presently serves as my wife’s system, and my PII/300 laptop roams the house on wireless B. This has always been the model for our home network, dating back to the late 90’s when the hub in our cramped apartment was a P/100 delivering sound through a $30 pawn-shop stereo to two main rooms, and the satellite node in the family room was a DEC VT-420 on a long serial cable. So, house-wide delivery of sound has always been possible. But doing the same for video remained unsolved until just this weekend. Kudos to the Videolan team for making it possible. A number of years ago, I recognized their vlc player was ideal for playing DVDs on my K6-2, handling the job with less CPU and less frame drop than other alternatives at the time. Not too long afterwards, though, we upgraded our hardware so saving CPU cycles was no longer an issue, and switched to other players to take advantage of features they offered over vlc. But a recent email from a friend brought me back. This friend asked if I had seen a certain Linux documentary video he had found. I hadn’t, and was intrigued. But since the hub was tied up by the kids at that moment, I figured I’d try watching on the old PII laptop. I didn’t really think it would work, but remembering how well vlc did on my other old hardware, I gave it a try. It worked! No frame drop at all. Buoyed by that victory, I recalled that I had downloaded the Debconf 6 DVD ISOs some days ago, but had not yet been able to watch them. You probably can guess why … yup, the single hub system, the only one really capable of doing a good job displaying video, was pretty much always tied up by various other family members. Now, I knew there was no way I could get those DVDs onto the laptop, as it has no drive and only a 4G hdd. Nor was I willing to go to the bother of ripping individual tracks to transcode and send over one at a time. But I then recalled that vlc, as well as being an excellent standalone player, is primarily the client for a streaming video system. So I set out to learn how to stream video. Back when I was first introduced to Videolan, I knew there was a server program, vls. I had a quick look at that and was overwhelmed by the wide variety of possible MRLs and codecs, and a bit mystified as to which magic spells were needed to make it stream to the laptop. It then occurred to me I had probably plunged in too quickly, and should back off and go look for more docs than just the man pages. Sure enough, they have plenty of excellent docs, leading to the discovery that the vlc gui itself has easy to use Wizard and Open dialogs to set up streaming. With that sorted out, I was streaming in no time. At this point, I was delighted to discover that I could successfully stream a 1024 kbps mp4 stream across wireless B form the basement to any other room of our two-story semi. And ever since then, I’ve been having great fun with the family, trying a wide variety of other video sources lying around: music videos, home videos made by friends, TV shows recorded from the PVR, DVDs direct from disc, and yes, finally, those Debconf 6 ISOs. I tell you, it’s like Christmas come early! Thanks, Videolan. You’ve made my week.

Gustavo Franco: Welcome [INSERT YOUR DISTRO HERE] developers

The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian GNU/Linux, or simply Debian for short. An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs. Debian systems currently use the Linux kernel. Linux is a piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. However, work is in progress to provide Debian for other kernels. If you have an interest in being part of a vibrant community that cares about keeping free software widely available, feeds trolls and flamewars, delay releases just for fun (and even considering not release sometimes), but in the end of the day still aims to deliver a universal operating system and protecting the rights of people to get it free of charge, free to modify, free of murky encumbrances, undisclosed balance sheet liabilities and non-free software by default, then please do join us. While you wait on the queue, you will be able to do everything we (the developers) are doing, but some stuff slower. Don't let others fool you.

Steve Kemp: Blame it on rock and roll

I spent a while on IRC today, rare for me, and one of the repeatable topics of conversation was showing mugshots of people in chat. I wrote a trivial /showface command for irssi which just spawned mozilla to show a hackergotchi from planet.debian.org and that was neat. However it suffers from the problem that you cannot spawn a graphical application from inside Screen easily. So I came up with a cunning alternative: using the DBUS notification deamon. So now I have face.c which uses wget to download an image, then dbus to display it. Compile it like this:
apt-get install libnotify1 notification-daemon dbus
apt-get install libgtk2.0-dev libglib2.0-dev libnotify-dev
	
gcc  pkg-config --cflags gtk+-2.0  \
     pkg-config --cflags glib-2.0  \
 face.c -lnotify -o face
	
Now copy the face script to drive it and you can run /showface skx and it will show you my image. Neat hack. (I suspect it will fail if I logout of X and restart - then reattach to screen since my DBUS identifier/session will be different. But I’m still pleased that I didn’t have to quit the currently open screen session and I can make graphics appear from within it) Update: now with caching and error detection. It will also disable itself for channels not matching ^#debian*

Jon Dowland: Thecus

Yesterday I installed debian on my thecus n2100. Thanks to Martin Michlmayr for putting up with my neurotic questions during this process. Normally, this would take about 2 hours. Unfortunately I hit a bug in the r8169 network driver (or the hardware) which made the process excruciatingly slow: over 8 hours. I did delay the process somewhat by going for a stable installation first time through. You need to go for etch, for anyone following along at home. I have two hard discs in this box and I wanted to use RAID-1 for the root filesystem. Actually, the two discs were already in a linux RAID-1 set, with superblocks, an ext3 filesystem and some files, from when I was using the default thecus firmware. The following approach lets you setup RAID in the installer and preserve any existing data. You will need to have at least one connection to the installer running a shell, in addition to the one running the installer. When you enter the disc partitioner stage, you will need to fetch the udeb which gives you the md module. For the current thecus installer image, that's md-modules-2.6.18-3-iop32x-di_1.5_arm.udeb. wget it from a mirror (path pool/main/l/linux-kernel-di-arm-2.6) and udpkg -i it. Then restart the partitioner. To preserve the contents of the RAID-1, you might be able to select "don't wipe this partition", and just make sure nothing on it would clash with the directories that Debian will create. I didn't take this approach. Instead, you can drop one of the discs from the mirror, continue with the installation as normal, copy the data back across after, and re-add the disc to the mirror set. Before you select your filesystems in the partitioner: Now feel free to let the installer stick a new filesystem on the RAID set, and install the base system etc. Once the thing has booted: Periodically check on the rebuild status with mdadm -D /dev/md0. One other thing I would strongly advise is getting the installer's debconf priority to medium or lower before you get the base system installed, so you can skip the bootloader / flashing stage. Update: I've clarified the following paragraphs. At present, the default etch kernel is 2.6.17. The network device in the Thecus is not supported by this kernel, so you have to manually install a particular 2.6.18 kernel prior to rebooting, or you will not be able to communicate with the machine once it boots. Martin makes this very clear in his instructions. However, if you have no experience using a d-i which flashes the kernel (as appose to say, the bootloader prompts you get when doing an x86 install, for example) you may not be aware that by default, the flash stage proceeds without prompts. That means that if you do not prevent it from doing so, there will be a window between the installer flashing 2.6.17, and you manually installing 2.6.18, where the thecus will be in an unbootable state, should you suffer a power cut or similar problem. In my case, I left the base system being unpacked overnight (due to the fact the network was so slow). So, that window was several hours wide. This is only a temporary situation, as the release team plan to have 2.6.18 available for Etch, and the patches for the Thecus hardware are steadily working their way into the mainline kernel.

26 November 2006

Julien Blache: Debian AMD64 on the Core2 Duo 15 MacBook Pro

So I’ve got my shiny new laptop which should complement my 5 years old PowerBook G4 500 MHz and had a bit of fun installing Debian AMD64 on it. I did it the hard way, not using debian-installer as it was a given for me that both the kernel and debian-installer itself were unable to deal with the machine. Installation method: Note that you do not need to install BootCamp on Mac OS X. On the Core2 Duo machines, the firmware already includes the SMBIOS stuff, so you’d only install a useless Mac OS X GUI which you can’t use because you’ve repartitioned before running BootCamp Assistant :-) Current status: most of what should work with Linux sort of works (that is, to say, everything but the WiFi). Things that do not work: Everything else works, and works fine. Wrote a small daemon to handle the special keys for LCD backlight, sound, keyboard backlight and CD ejection. Still needs a bit of polishing, after what I’ll release and package it. rEFIt isn’t available in Debian AMD64 yet, so gptsync isn’t available and must be run from an i386 system for the time being (plus gptsync is buggy on 64bit architectures). Patches ready, waiting for GNU-EFI on amd64 (#383801). Suspend to RAM and suspend to disk both work, use s2ram -f -p -m until the machine makes it into the built-in whitelist. The machine is pretty nice, though I’d appreciate it if the fans weren’t running at 5500 rpm when I have the laptop on my laps. Might be related to both the applesmc and power consumption issues. WiFi remains the biggest issue, battery life comes second ex-aequo with DVI-I output and sound is third. I’m quite unhappy with having to taint my kernel by using the fglrx (and madwifi in the future) proprietary crap, and even more when it doesn’t work as good as it should. Maybe RMS was right about ATI.

Next.

Previous.