Search Results: "xam"

18 December 2006

Erich Schubert: If only BibTeX (and LaTeX) were XML...

That would solve so many problems. LaTeX is still unbeaten in terms of print quality. It's really powerful. Since I've been using it, if started to really despise Writer and Impress. latex-beamer slides look just so much better than any PowerPoint presentation I've ever seen. However, it's far from easy to use. The syntax is a pain, and I don't think it's a feature that you can actuall program in this language. Similar things hold for BibTeX - there are so many things to do wrong there that will go a long way unnoticed. I've recently helped a friend to fix some BibTeX files. It was a pain, there was so much wrong in there... for example URLs. People noticed that they can't just always copy URLs in there, because some characters are special to LaTeX. But instead of using the \url macro, which would also have solved linewrap problem, they started doing the most obscure things (and of course they did not read the FAQ we wrote for them or asked how to do it right), for example adding whitespace to enforce line wraps, replace _ and & with whitespace etc., wrap uppercase chars in - an awful mess. The same thing with the author values. They just wrote "First author, second author" without considering that this might be interpreted according to the common "Last Name, First Name" scheme: e.g. "van Damme, Jean-Claude". (The correct syntax is "First Author and Second Author and Author, Third" - use "and" for separating even when you have more than two authors.) XML is better here. It's rules of escaping are generic and application-independant, and thus you'll have much more tools that know how to do it right, and you only have to learn it once, not for each application. The structuring also comes in handy:
  <authors>
    <author firstname="Foo" lastname="Bar" />
    <author firstname="Gnarf" lastname="Quux" />
  </authors>
is a bit more to write, but it avoids parsing errors. And with good utilies it's not particularly hard to write. Now don't point me to XML-FO. I know about formatting objects, the paper I submitted to the eXtreme Markup Languages conferences was done with FO. It's just that they don't come anywhere close to LaTeX in terms of print quality, the only OpenSource implementation I'm aware of didn't make much progress (but they seem to have released a rewrite in the meantime) and was lacking important features, and MathML has a horrible syntax mess (apart from Apache FOP not having MathML support). XSLT also has an annoying syntax. Too verbose and totally unreadable once you do things that are a bit more complex than the simplest examples. I wish we had something that gives a similar print quality to LaTeX, that uses some XML format (or something similar structured and easy to parse, like Xcerpt data terms, but thats basically equivalent to XML, just a bit more compact; Lisp S-expressions and OEM are other examples) that allows the easy creation of third party utilities and does away with all the black magic involved... Yeah, IMHO it's really time for a rewrite of LaTeX with a modern language design. And a large, unified standard library; plain LaTeX sucks, you can barely use it without extras such as url, hyperref, latex-beamer. [Update: yes, I'm aware of bibtexML, but it's just as bad, you still need hacks such as "the C language" or using "and" to separate multiple authors. I'm also aware of docbook and docbook to latex converters; that definitely is a workaround, but doesn't solve the real problems] (Comments in my blog are intentionally disabled. So if you want to voice your general dislike of anything with XML, abuse your own blog!)

17 December 2006

Russell Coker: comment-less blogs

Are comment-less blogs missing the spirit of blogging?

It seems to me that the most significant development about blogging is the idea that anyone can write. Prior to blogs news-papers were the only method of writing topical articles for a mass audience. To be able to write for a news-paper you had to be employed there or get a guest writing spot (not sure how you achieve this but examples are common).

Anyone can start a blog, if there is a community that you are part of which has a planet then it's not difficult to get your blog syndicated and have some reasonable readership. Even the most popular planets have less readers than most small papers, but that combined with the ease of forwarding articles gives a decent readership.

It seems to me that the major characteristic that separates a blog from an online newspaper is the low entry requirements, anyone can create one.

Every news-paper that is remotely worth reading has a letters column to publish feedback from readers. Of course it's heavily moderated and getting even 50% of your letters published is something to be proud of. But it does create a limited forum to discuss the articles that are published.

It seems to me that creating a blog and denying the readers the ability to comment on it is in some ways making the blog less open than a news-paper column. When such blogs are aggregated in a community planet feed it seems that they go against the community spirit. It also drives people to make one-line blog posts in response, which I regard as a bad thing.

The comments on my blog are generally of a high quality, I've had a few anonymous flame comments - but you have to learn to deal with a few flames if you are going to use the net, and people who are afraid to publish their real name to a flame don't deserve much attention. I've had one comment which might have been an attempt to advertise a product (so I deleted it just to be safe). But apart from that the comments are generally very good. I've learned quite a few useful things from blog comments, sometimes I mention having technical problems in blog posts and blog comments provide the solution. Other times they suggest topics for further writing.

There are facilities for moderated blog comments that some people use. If you have a really popular blog then it's probably a good idea to moderate the comments to avoid spam, but I'm not that popular yet and most people who blog will never be so popular. At this time blog moderation would be more trouble for me than it's worth.

In conclusion I believe that the web should be about interactive communication in all areas, it should provide a level playing field where the participation of all individuals is limited only by time and ability. Refusing comments on blogs is a small step away from that goal.

Ben Armstrong: Xautomation: visually grepping for gui elements

In my first article about testing tuxpaint with xautomation, I mentioned that I wasn’t happy with hardwiring button positions. But before I could proceed, I discovered a bug in xautomation that prevented me from using visgrep to search for the “Yes” button in tuxpaint screenshots. Fortunately, the fix was straightforward enough after reading the libpng man page. At the same time, I also decided to borrow an idea from the example scripts in the xmacro package. Running the test script on the tester’s own display may be fine for developing the script, but it is nice to be able to run it on a virtual display after the kinks are worked out. For one thing, the test doesn’t get in the way of other things when you’re waiting for it to finish. For another, it is much easier to control the test environment. Xvfb is perfect for this. The resulting script requires tuxpaint, Xvfb, xautomation with the above patch applied, xbase-clients and Imagemagick.

Aurelien Jarno: New ARM autobuilders

I am really upset by the way the ARM build daemons are managed. The packages are not uploaded regularly, with sometimes three days between two uploads. Well it should not be a problem, if packages that have failed to build due to some packages not uploaded fast enough (see for example python-gnome, or rkward) were requeued, but that’s actually not the case. Also last week, the build daemon named “cats” stopped to upload packages, despite it continued to build them. 11 days later, nothing has changed even after a mail to arm@buildd.debian.org. And I do not speak about build daemons building nothing. All of that resulted in ARM being the slowest architecture to build packages. It looks like the ARM build daemon maintainer does not know the excellent page made by Jeroen. As arm@buildd.debian.org is everything but responsive (well if you can assign a level of responsiveness to /dev/null), I have decided to act. I have installed QEMU on an 8-way Opteron machine, and created 8 emulated ARM machines, which 256MB of RAM and 10GB of disk for each, all running buildd + sbuild. Altogether those 8 emulated ARM machines should be faster than all the Debian ARM build daemons. I have setup a wanna-build database on my server. During the day it has built around 100 packages. Yes I agree that real machines would be better, but I don’t have a stack of fast ARM machines at home. Anyway when you see random segfaults on the build daemons, or strange failures (that happen for weeks) on the build daemon named “netwinder“, you may think to that again. Unfortunately the machine I use for that is only available for a few months, and I will have to stop the emulated machine then. I just hope that the situation with respect to the build daemons will improve, so that I can stop them even before.

16 December 2006

Isaac Clerencia: Hacking on eBox again

Last months I’ve been busy with some projects at work, involving some Qt programming, dealing with Cisco JTAPI and other nuisances, which have prevented me from working in eBox. My work desktop is about a meter away from the now three full-time developer eBox team, so I’ve been closely following the development process and participating in some design meetings and at last, I’ve found some time to write nice stuff for it again. eBox lacked administration logging, that is, a log with every change made through the eBox administrative interface (quite useful to know when something was changed or who changed it), so I’ve added support for that in the eBox framework and have implemented the necessary stuff in two modules as an example. There is still a lot of work until every module reports every action to the module, but the core is already working:
As a nice side effect, now we can also show the changes that you are about to save or rollback:
FYI, a new eBox version (0.7.99, aka 0.8rc1) was released some days ago, you can give it a try. Check our downloads section. Obviously these changes won’t be included in 0.8, but in 0.9, which will also add a openvpn module, traffic shaping and other improvements.

Adam Rosi-Kessel: Questionable Verizon EVDO Support

Once you’ve had a taste of EVDO (presently offered only by Verizon and Sprint), it’s hard to imagine not having it. Like cell service, you quickly forget what it was like not to be online always everywhere. (It’s a great example of our rising “baseline” standard of living). Recently, I switched to an embedded EVDO card on a new laptop (running Windows for reasons beyond the scope of this blog entry). It worked for a couple of days, and then I started getting mysterious “error 913” messages when trying to connect. After trying all the solutions that seemed obvious to me, I contacted Verizon Wireless Tech Support as suggested by the error message, which otherwise provided no information about error 913. Perhaps surprisingly, Verizon Wireless Tech Support didn’t really know what error 913 was either. After a few minutes, I was escalated to second level tech support. They had me reboot. Then they had me reinstall the card controller software. The second-level tech support person put me on hold to speak with whatever higher level tech support she had access to. Then they had me delete the EVDO connection from the dial-up networking control panel and re-create it. None of these things worked. So she said I should just return the laptop to the store and get a new one. It was perhaps the best example of the three “R’s” of Windows Tech Support I had ever experienced: reboot, reinstall, replace. This may perhaps be the only cost effective way of providing such support. I persisted, though, as I was pretty sure there wasn’t a hardware issue given that all the diagnostics were coming up without error. I would rather not return a perfectly good laptop just because we couldn’t figure it out. I was also suspicious because I had seen several instances of precisely this problem popping up in message boards, and the tech support person herself told me that she had recently been unable to solve the same problem with another customer. It just didn’t have the symptomology of broken hardware. After a few more minutes of speculating about why this might happen, the tech support person said she had an idea, and asked me to try to reconnect. Since then, it has worked perfectly. As I understand the problem, my account was enabled for unlimited “roaming” EVDO access, but did not actually have authorization for “non-roaming” (i.e., within the network) access. Thus the connection was rejected. There are several things wrong with this picture. Why didn’t the EVDO access manager software provide an error message that actually indicated that the connection was refused for lack of authorization? Why didn’t anyone at Verizon know what error 913 was? Shouldn’t Verizon have a checklist for such issues that includes “check to see if the subscriber is properly signed up”? (For that matter, why did my account spontaneously lose non-roaming access?) These are just a few questions that come to mind. I hate to beat on Verizon, since I’ve done it three times before, but it’s almost like they’re just asking for it. Maybe it’s time they rethink their organizational strategy.

Evan Prodromou: 25 Frimaire CCXV

I'm pretty happy to note that I've been invited to speak at South by Southwest Interactive in March on the subject of wikis and commercialization. I'm pretty psyched about the subject, as I think a rich and varied ecosphere of wikis -- from personal to informal clusters to formalized non-profits to formalized commercial ventures -- is a necessary step to the development of a read-write Web. OK, so, it wasn't like they invited me out of the blue -- I submitted an idea for a wiki panel a few months ago, and it got morphed into a one-person presentation instead. Which will be fun, since I'll be able to pontificate at length on this interesting subject. Maj booked us our hotel rooms in November -- I wanted to stay at the Austin Motel, but they have some kind of one-time callin system for the week of SxSW, and their rooms sell-out in an hour or so. We missed the callin time, which was no big deal. tags:

Recidivista Bad Vista is a clumsy and confusing name. Who's running the Wordplay Department over at the FSF nowadays? I hope it's some wily Germans, and that "Bad Vista" is some sort of elaborate spa joke. But for some reason I doubt it. Offer to the FSF: I just registered recidivista.org today. It's an awesome name. It is yours for free if you promise to use it well and be funny instead of shrill. Deal? tags:

Maptastic I'm pretty happy to note that I got around to developing a new MediaWiki plug-in that uses the Mapstraction library to switch between well-known-but-proprietary mapping services like Google Maps and unknown-but-open-and-cool services like OpenStreetMap. Each page on Wikitravel that's had some geo-data RDF magic added to it gets a link to the Mapstraction page, which will focus on that destination. Eventually it will have icons for each museum, restaurant, bar, hotel, or other feature of the city, and you could move them around or even edit their information through the map interface. But, for now, I'm starting small. More map-centrism will come with time. You can check out Montreal for an example of a mapped-up page right now. tags:

C-List So, I like this Are you an A-list Bloglebrity? tool on kineda.com. A simple re-packaging of some publicly-available data from Technorati, ranking blogs into lists by authority. Excellent hit-mongering. I'm sad to say that I'm still in the C-list on the blogging front, but that's really just dependent on longevity. I've only been doing this since last May -- errr, Flor al -- which is just 7 months (that's 49 months in blog years). If the A-list gets the Lear jets and the red-carpets, I don't know what kind of perks come along with the C-list. Free refills on your orange soda? tags:

Parenthood One of the things that parents often notice is that they have a hard time relating to their non-parent friends. And, of course, single non-parents have a hard time relating to their friends who've bred. Why is it so hard for these two kinds of people to connect with each other? I think there are some superficial reasons, like having different schedules, different imperatives, different needs. But I also think there's something more fundamental about the split. Organisms who've survived long enough to successfully reproduce have realised one goal in life -- if you listen to Charles Darwin, the only goal in life. If you have children, you have found a purpose for yourself -- an answer to all those questions about who you are and what you're supposed to do with your time on earth. If you survive to breed, you have won the game. Now, it's not the only way of winning, and it's not really the most interesting game in town. But I know at least for myself, and for other parents I've talked to, there is an existential satisfaction in finding yourself almost accidentally filling this purpose. Having never felt before that I had a definite purpose, it's been a strange sensation. Non-parents don't get the same sensation -- or, at least, they don't get it in the same way. So they're still looking, thinking, questing, trying to find some answers. And that gives them a vibrant edge that fulfillment dulls. I doubt there are many non-parents who would be satisfied with the Darwinian answer to their questions -- spawning like crayfish isn't a very lofty goal in life. Or at least it doesn't seem so from the outside. I'm not sure how to tell my friends how my life's changed since we had a daughter -- how when I'm reflecting and summing up my life, I don't feel the same panic as I did before. It's a good feeling, though. tags:

Iraqi taxi This blog post with a graphic illustration of the process for a build-your-own Iraqi taxi cracked me up. It was also nice for giving me a link to Wrecked Exotics. No, it's not about drunk strippers, nor orchids that went unfed; it's crashed cars. tags:

15 December 2006

Mike Hommey: Playing evil with VMWare ESX Server

During the past month, I’ve been working on migrating some servers onto a VMWare ESX Server. I did test VMWare Workstation a long time ago, and have had a VMWare Server on my work laptop since it has been freed (as in beer), but ESX Server is something else. It seems to me, though, that except it can run unmodified OSes without VT/Pacifica technology, it is not technically superior to what you can do with Xen and other free software. For instance, it may be possible to do better virtual switching setups with “standard” linux bridges and ebtables. But from the administrator perspective ESX Server has the advantage of its administration console. I’m still waiting to see a nice and featureful free (as in speech) configuration software for Xen (or maybe, dear lazyweb, could you show me some good urls I missed). We don’t have the full VMWare Infrastructure, though, so I can’t speak of VMotion or VMHA, but that sounds neat, on paper. I never tested Xen migration either, so, I won’t say it’s better :) Anyways, VMWare ESX Server is a pretty good product, but there are quite a few quirks, or even really painful misfeatures: As said above, we can now setup a loopback device on the VM disk files (which needs a little trickery with offsets to get the partitions positions right, but that’s not very hard). While it’s possible to mount filesystems from an offline disk this way, it’s not a good idea to mount an ext3 filesystem from a running VM, because the filesystem is flagged for recovery, and the service console kernel would want to replay the journal, which may have nasty side effects. I don’t know for NTFS yet. There may be a solution to “cleanly” mount filesystems from an online disk, though (not yet tested): That would be pretty pervert (ext3 over loopback over unionfs over vmfs), but should just work. I’ll post a detailed procedure.

Ian Murdock: Software installation on Linux: Today, it sucks (part 1)

As anyone who follows my blog knows, I’m fond of linking to other sites with brief little quotes that either get me thinking or reinforce points I’m trying to make elsewhere. (Credit where credit is due: Dave Winer and Doc Searls both do this very effectively, and I’m just shamelessly copying them, down to the quoting style they typically use.) One of the quotes I’ve had queued up for a long time is this one from Jon Udell:
I have a confession to make. Sometimes, when I m trying out an unfamiliar open source component, I cheat. Even if the software I m working on will deploy to Linux, I ll sometimes develop it on Windows first. Why? Because on Windows, an open source component is likely to come with an installer that just works.
He’s right. Unless an application is included with your Linux distribution of choice, installing that application on Linux is a nightmare compared to Windows. Here’s an example. To install Sun’s Java Studio Creator on Windows, I just click on the .exe on Sun’s web site, which downloads the file and places it on my desktop. I double click the .exe (after, of course, checking it for viruses) and am up and running in a few minutes. In contrast, on Linux, I click on the .bin, which downloads the file and.. up pops a text editor showing me a /bin/sh script. Nice. Fortunately, I know what that is, so I save the script to a file on my desktop. I double click the file, and.. up pops a dialog box telling me the file isn’t executable. Nice. Fortunately, I know what that means, so I drop into a shell and run chmod +x ./creator-2_1-linux-ml.bin. I double click the file again, and there’s a nice graphical installer now. Finally, it looks like everything is going my way. Halfway through, though, the installation fails, telling me I need to install the RPMs for compat-libstdc++ and compat-libstdc++-dev. Nice. Assuming I even know what an “RPM” is, I then realize: I’m running Debian, and Debian doesn’t use RPM. Maybe I know about alien, but even if I do, where do I go about getting the compat-libstdc++ and compat-libstdc++-dev RPMs? At this point, I’ll probably hit Google—that is, if I haven’t already thrown up my hands in disgust and gone back to Windows. After a bit of Googling, I find this page, which tells me on Debian what I really need is libstdc++2.10-glibc2.2 and libstdc++2.10-dev. Of course! I should have known that. (Note: I’m being sarcastic.) After installing those two packages, I restart the installer (which, thankfully, knows how to deal with the fact that it’s already half installed, but that won’t always be true). The installation finishes this time, and the installer kindly offers to start the program for me. However, after poking around a bit and exiting back to the desktop, I don’t see a menu entry or a desktop icon, so I’m not sure how I’m going to find it again (and I hope I don’t have to explain why cd’ing to ~/sun/Creator2_1/bin is not an answer). Anyone who has ever installed software on Linux is familiar with this song and dance. If it’s in your distro of choice, you’re only an apt-get or a yum install away from running it. But if not, you’d better know what you’re doing, have a lot of patience, and understand how to construct effective Google search terms. (And, no, moving everything into the distribution is not a very good option. Remember that one of the key tenets of open source is decentralization, so if the only solution is to centralize everything, there’s something fundamentally wrong with this picture.) Oh, well. At least I didn’t have to check for viruses! Fortunately, some of the problems I experienced are bugs. The above was done on a pre-release Debian etch system over the summer, so it’s likely the problems have been fixed. I repeated the experiment on an Ubuntu edgy system, and it didn’t open the text editor, nor did it complain about an incompatible C++ environment. However, there were still no menu entries or desktop icons, and there was an additional problem too in that when I double clicked the file, it opened it in CrossOver Office, which I also have installed. Regardless, even if it works better on some distros than others, there’s still no usable solution until ISVs and end users alike can depend on things consistently working regardless of the distro being used. Again, fortunately, we have solutions to parts of the problem already. The LSB abstracts away the differences between the runtime environments of the various distros, so the Java Studio Creator installer could have simply said “you must install the LSB environment” rather than trying to deal with the hundreds of little variations in both the environments and the package namespaces that provide them (e.g., compat-libstdc++ vs. libstdc++2.10-glibc2.2). Better yet, on distros that provide the LSB environment in their default configuration, the installer doesn’t have to do anything. And Project Portland promises to give us a consistent interface for creating menu entries, desktop icons and such things. However, far too few applications take advantage of the LSB today (though that’s changing), and Project Portland isn’t in any of the distros yet (though we’re looking at bundling its primary deliverable, xdg-utils, with the LSB 3.2 SDK to work around that). Finally, even though the LSB provides ISVs with a consistent way to create an LSB compliant executable, there’s no consistent way to deliver an LSB compliant application that’s easy to install and that integrates well with the distribution’s package system. Yes, the LSB includes RPM today, but for a variety of reasons, ISVs don’t want to use RPM, and as already mentioned, not all distributions support RPM natively. Fortunately, once again, this isn’t just a rant. The LSB tackled these very issues at the LSB face to face and Packaging Summit last week in Berlin, Germany, and we think we have a way forward that’s acceptable to all involved: Linux distribution vendors who already have well established package systems and systems management tools built around them; ISVs who need to support multiple platforms and so don’t want to support the Linux specific RPM format or who otherwise want more control over the installation experience; and end users who want to use the software management facilities their distributions provide, whether that’s RPM or something higher level like APT and yum. More in part 2…

14 December 2006

Hanna Wallach: platform studies

Nick and Ian have just announced a new MIT Press book series: Platform Studies. The series will investigate the relationships between the hardware and software design of computing systems and the creative works produced on those systems. The first book’s already under contract and will be about the Atari 2600 (sweet!) but Nick and Ian are currently seeking book proposals for the rest of the series. They’ve got a list of example platforms on the Platform Studies website (I’d personally be really keen to see something related to free software) so if you’re interested, why not check out the site and submit something!

Ian Murdock: iAccessible2 and the importance of cross platform standards

Elizabeth Montalbano and Andy Updegrove write about IBM’s donation of iAccessible2 to the Free Standards Group, which is being formally announced today (see the IBM and FSG press releases). In addition to IBM, the project is backed by Sun, Oracle, SAP and other major vendors. This is a big deal in and of itself, of course, because it will make applications based on ODF, AJAX, and other emerging open standards more accessible to visually impaired users. But it’s also an important milestone for the FSG, so I thought I should say a few words about that here from my own little pulpit. The first clue is that iAccessible2 is an accessibility API for Windows. Windows? Yes, the FSG is primarily a Linux organization (our main project is, of course, the Linux Standard Base), so why on earth are we now involved in building APIs for Windows? First of all, we’ll be moving this project forward as an extension to our existing accessibility projects—which, given the way the FSG is structured, flow into the LSB as they are adopted by the Linux distributions (who, as I’ve already mentioned here, are active participants in the LSB project, so we’re not just hoping the distros adopt our work, we’re proactively trying to drive consensus on these key issues). So, this definitely impacts our Linux work by bringing accessibility features to Linux that not only equal those of Windows but exceed them (iAccessible2 itself came about because Microsoft Active Accessibility has notable shortcomings). But it’s more than that. Another way to look at this is that the LSB APIs will be taking on a distinctly more cross platform flavor, particularly in the “around the edges” cases such as this. Again, that begs the question: Why is cross platform support important for a Linux organization? That one’s simple. APIs are for application developers. Application developers target multiple platforms. The less Linux specific work an application developer has to do to support Linux, the more cost effective a Linux version will be, the more likely it is to get done. It’s all about more Linux apps. There’s another dimension to it as well. There are a certain class of features that the vast majority of developers don’t think much about because that vast majority doesn’t need them. There’s no itch to scratch, as it were. Accessibility is a great example of such a feature: I have no idea what it’s like to be blind, nor do most people. If we can provide a set of open, cross platform APIs that allow application developers to easily add such features to their products, more standards based products will support them. As Massachusetts and ODF brings into sharp focus, these “around the edges” cases developers don’t think much about can turn out to be very important indeed.

Matthew Palmer: Could You Pass the 8th Grade in 1895?

In case anyone is in doubt about the degradation of educational standards over time, I present to you the 8th grade "final" exam for Saline County, Kansas, for April 1895.

13 December 2006

Steve Kemp: Do you know what it feels like in this world

Sexism Amaya was right to point out an example of sexism at a recent open source developers conference. She makes reference to the Debian Women group as an example of a good thing. I was talking to Erinn recently and told her that my impression was that the Women project had stalled/ceased. Mostly because there didn’t seem to be anything happening. I think that this is both a good thing, and a bad thing. Good in the sense that the idea of female developers isn’t a suprise (as it shouldn’t be) and that the previously overt sexist hostility is going away. But bad in the sense that there should be ongoing work so that we don’t start to take it for granted and ignore other newcomers and women. There are several reasons why projects like this stall; one of the most obvious is that writing documentation is hard. Really. You don’t know how hard it is until you try to do a little every day for week after week after week. (And there are times when I think of writing a book. Ha!) There are other reasons too; such as the difficulty in attracting volunteers who are matched to their jobs, and who in turn have the time to do useful things. So Planet Debian how are you going to help our women today? I’ll make sure I avoid sexist lyrics in my titles from here on out.. not a huge change since I tend to avoid it generally, much as I would love to fill entries with Depeche Mode lyrics I guess I have better places for emo-rants. One small step ..

12 December 2006

Robert McQueen: Telepathy and OLPC

We got an OLPC prototype at Collabora last week, and have been playing with the Telepathy VOIP/IM framework on the devices. Using telepathy-gabble’s (our XMPP backend) Jingle implementation, and telepathy-stream-engine with the Farsight GStreamer RTP library, we got a bidirectional voice/video call going pretty quickly using a few lines of python and a bit of hackery (patches to follow :D). We’re going to polish this up into an activity you can install, and also Sjoerd Simons has been working with us on telepathy-salut, an XMPP Link-Local (also known as Rendezvous, Bonjour, iChat, whatever) backend which we’re hoping to also get working as part of the OLPC platform.

Biella Coleman: The Moose is On the Loose and a little Usenet History

So I am back to le study of le hackers, trying to write a super-secret paper that I will present in January and then of course I am back with and to my beloved book (which for now has the following title: “Freedom’s Pleasures: Hacker Practice And The Limits of Liberalism” but I am sure it will morph, endlessly). As part of my transition I just finished re-reading one of my favorite articles on the history of Usenet: If I want it, it s OK: Usenet and the (outer) limits of free speech by B. Pfaffenberger (available here for download. When I released one of my dissertation chapters where I addressed the phenomenon of the Cabal, Bryan was nice enough to write me and point me to his article, which also examines the existence of Backbone Usenet Cabal. The artile, which provides just the right mix of history and commentary, analyzes how a free speech ethic came to be valued on Usenet and the ways in which technological and social factors co-mingled to facilitate and dampen the free flow of expression. You are provided with classic Usenet quotes like:
Usenet is like a herd of performing elephants with diarrhea–massive, diffi-
cult to redirect, awe-inspiring, entertaining, and a source of mind-boggling
amounts of excrement when you least expect it. (Spafford, 1993b)
You learn about the early attempts to control spam by the likes of “CancelMoose:”
In 1995, a secret, shadowy figure known as the CancelMoose
devised a spam-canceling program called a cancelbot.”
And then in the end, he provides his challeng to one of the dominant STS theories of the time, SCOT: “It should be noted that this picture is at odds with the predictions of the social construc-
tion of technology (SCOT) theory (Pinch & Bijker, 1987), in which the outcome of a period
of technical controversy is ascribed solely to social factors. Underlying SCOT s dogmatism
is a justifiable aversion to technological determinism, the doctrine that a technology s con-
tent leads irresistably to predictable social consequences a doctrine that is simply the re-
verse of SCOT s insistence on social causation. Two wrongs, as we were taught in kinder-
garten, do not make a right. What we see in the history of Usenet is a contingent outcome
that is shaped neither exclusively by social nor by technical factors, but rather is best under-
stood as a long process in which contesting groups attempt to mold and shape the technol-
ogy to suit their ends sometimes successfully, and sometimes not. They are as likely to be
blindsided by technological developments as they were to succeed in changing the system
to meet their ends. As this article attests, it is one thing to create new technologies with a
coherent social vision, and it is quite another to control the way it grows and develops.” I could not agree with him more. I think what he is highlighting is that if we dip into the historical record, we have instances in which technology can trump the social and vice-versa (and often instead it is a co-mixture), so in the end, understanding the impact of technologies is less about theories of technology and more of a historical question…

10 December 2006

Daniel Baumann: Kernel Modules Packaging

Kernel Modules Almost all drivers for Linux are maintained within the Linux Kernel Project. But some drivers are maintained outside in seperate projects. We distinguish between two kind of drivers. Conglomeration Packages From the user point of view, out-of-tree modules are not ideal. Although it is very easy to build the binary module packages for a driver, they require to have their build dependencies installed. This would be acceptable on a development machine, but not on a client. Therefore, some module maintainers started to build the binary modules for every kernel image available in Debian, so users can just apt-get install those prebuild packages. From the archive point of view, this is a mess. While the distribution is under development, every new kernel release and every kernel ABI bump requires a rebuild of all out-of-tree modules, resulting in new binary packages and hence NEW queue spamming for the ftp-master team. While the distribution is in maintenance after beeing released as stable, point releases suffer from this too, making it a major pain in the ass for the security team. The solution: conglomeration packages. Conglomeration packages are empty packages depending on a given set of $ driver -source packages and only building the binary modules out of them. This way, the NEW queue spamming is limited to one single source package for each new kernel release or kernel ABI bump (actually three of them: linux-modules-extra-2.6 for main, linux-modules-contrib-2.6 for contrib, and linux-modules-nonfree-2.6 for non-free). Status in Etch The conglomeration package for the modules of main is maintained by the kernel team. For contrib and non-free, I needed to take care about them myself. Fortunately, they were accepted two days ago, so there is enough time left to let them properly migrate to testing. Module Maintainers please join I can only speak for contrib and non-free: If you are a module maintainer and the license terms of your module do allow binary redistribution and auto-building, you are heartily invited to join the conglomeration package. Please submit a wishlist bug report against the respective conglomeration package, or, feel free to contact me directly if you have any questions.

Russell Coker: The Squirrel and the Grasshopper

There's a story going around the neo-con blogs titled "The Squirrel and the Grasshopper". It was forwarded to me by a business associate with the claim that it's "right on the money". It's strange that someone could be considered to be "right on the money" for Australia when essentially the same text is posted in the UK, New Zealand, and Sweden (from a 30 second google search - I'm sure that the neo-cons in other countries have posted it too).

The following are the neo-con ideas promoted by the story in question:
  1. To mis-represent a local main-stream political party that is known for representing workers (the ALP in the case of Australia) as being extremist and associated with Greenpeace (an organization that is out of favor at the moment and disliked by many people who vote for main-stream parties).
  2. To spread the "liberal press" lie that wing-nuts like to believe. Any analysis of the press will show that most multi-national media organizations are quite biased towards the right-wing groups.
  3. Making false claims about the legal system to drive support for recent fascistic legal changes. In the case of Australia this means allowing employers to lay off employees and immediately re-hire them at a lower rate, allowing employees to be laid off if factory equipment breaks down, and for almost any reason you can imagine. Driving the idea that the judges are incompetent and therefore imposing legislation to remove judicial discretion is an important step in removing civil rights.
  4. Claims that the government is communist and takes the property from the middle-classes and gives it to unworthy people. In fact the opposite is true (for Australia at least). Large companies and wealthy individuals are routinely given community property. The toll roads are the best example of this, the government closes public roads that can be used as an alternative to a toll road, and then politicians get paid off after they leave office. Far from taking money from people who work (as the neo-con propaganda claims) the government allows big corporations to do so with impunity. The Australian government (as many governments in first-world countries) has been becoming increasingly fascistic recently.
  5. The claim that asylum seekers are terrorists. If the government wanted to stop terrorism then they would cease involvement with those parts of the world. However only plebians (people like us) are likely to be hurt by terrorism so the government has little motivation to stop it - it's good for winning elections! By joining the invasion of Iraq the Australian government helped al Quaeda establish new training bases while also giving al Quaeda (and related organizations) a reason to target Australia. Also whenever a war is started people will be forced to leave their homes and seek asylum else-where. If you don't want asylum seekers seeking entry to your country then you don't want to mess up other countries and force people to flee.
  6. Support for the "war on drugs". That war has been at best a stale-mate and generally a loss for a century now. The approach that is being adopted experimentally of legal supply of hard drugs to addicts seems to have more promise. Incidentally the breaches in border security that are established for the purpose of drug smuggling are available for any illegal purpose that pays enough - if al Quaeda wanted to smuggle weapons into a first-world country they would probably get drug dealers to do it for them. I'll blog more on this topic in future.

There you have it, The Squirrel and the Grasshopper covered all of the neo-con propaganda bases apart from the pro-Christian angle.

For the benefit of anyone who is thinking of forwarding on a "parable" in future, the first thing you might want to do is a google search on it. Search for comments and also search for who is promoting it. If a message you are considering forwarding is being promoted by people who are obviously racist or who discriminate against people on the basis of religion then you might consider whether you want to associate yourself with them by forwarding the message.

9 December 2006

Daniel Burrows: DRM: "If there is hope, it lies in the proles^H^H^H^H^Hpols"?

In response to my recent mistaken post about Samsung and DRM, Adrian von Bidder wrote that

I think this battle will have to be fought in politics7. Battling the vendors is fine, but will be endless, the real goal should be to anchor a broad [4]right to tinker in the bill of rights which also extends to non-commercially used information.


On one level, this is probably true. But this amounts to the government passing laws that increase the liberty of its citizens and decrease its own control over them, while at the same time exposing the corporate interests that sponsor the government to increased competition. Governments almost never do this, for obvious reasons -- probably the only example in recent American history that I can think of is the Civil Rights Act of 1964, over forty years old now, which addressed inequalities that the average person could understand easily and was preceded by significant popular unrest (much more than a few guys dressing up like hazardous-waste-disposal crews and walking around outside computer conferences).

In fact, the most likely outcome of the government getting involved in the DRM situation, in my opinion, is a bill making DRM mandatory for all hardware devices and requiring software (or at least software that can run on mass-market computers) to go through a process of certification that attests that it respects DRM. This will be the final nail in the coffin for the free software movement, and I don't think we want to hasten its arrival.

I think the best we can hope for in this context is the prayer from "Fiddler on the Roof":


Lord, bless and keep the Congress

... far away from us!

8 December 2006

Uwe Hermann: Serious remotely exploitable hole in GnuPG

Just in case you haven't heard of this yet: GnuPG = 1.4.5 contains a remotely exploitable security issue which has been fixed in 1.4.6. You should really upgrade ASAP, as this problem can (theoretically) occur when GnuPG decrypts/checks encrypted email messages/signatures (for example). If you're running Debian unstable: apt-get install gnupg

Erich Schubert: British now divide by zero?

British now divide by zero. Either this "Dr James Anderson, from the University of Reading's computer science department" is a crappy computer scientist (not to speak of his mathematical skills), or this is a case of really bad journalism. Apart from having some facts wrong (infinity and -infinity aren't numbers, they're symbols outside of the numbers), he basically defines "0/0 = Nullity". Well, some of us might prefer the name "NaN" for this. "Not a Number". In floating point calculations, 0/0 may (if you've disabled exceptions) return NaN. So it is nothing new. And it's not particularly useful either, because all it solves is not having to raise an exception, but being able to continue your calculations (which will continue to return NaN) and handle the error at the end. With modern languages designed around exception handling, this of course is rarely ever used anymore. Some simple calculations you might find convincing: 2 * Nullity = 2 * (0/0) = (2*0)/0 = 0/0 = Nullity Nullity + 1 = (0/0) + (1/1) = (0*1 + 1*0)/(0*1) = 0/0 = Nullity Nullity / Nullity = (0/0) / (0/0) = (0/0) * (0/0) = (0*0)/(0*0) = (0/0) = Nullity So if you ever have Nullity anywhere in your equation the whole equation equals nullity. There is no way to remove Nullity from your results, since even Nullity/Nullity is Nullity. So you could just call it "I divided by zero, so the result is invalid". Thats probably not as pretty as "Nullity", but as useful. Some simple calculation, why you must not be allowed to divide by zero (independently from any nullity or whatever):
1*0 = 0 = 2*0     (This equation is right, isn't it?)
1 = 2             (I divided by 0 on both sides, removing the *0 factor)
This works for any number, not only for 1 or 2. So: if you divide by zero, all your numbers are equal (if you keep standard calculus rules such as associativity, distributivity etc. used in above equations). If that is okay for you, then you can divide by zero. I do prefer having 1 life to 0 life. And if 1 = 1000000, can you give me $1000000, I'll give you $1 back tomorrow... But: Maybe it's just a bad piece of journalism. He's a computer science guy. Maybe he knows about NaN. Maybe he's just trying to teach kids to use NaN when calculating, instead of teaching them to never divide by zero. There might be didactic benefits from this approach. The 1200 year old problem (Pythagoras, cited in the article lived 2500 years ago, I have no idea how they made up this number) IS easy to solve, if the result is called "invalid" instead of just having no valid result... That won't make your airplane land better, if it notices it's current height is Nullity... and what if his heart pacemaker obtains a result of "nullity", what is it supposed to do (as opposed to noticing it miscalculated?) [Update: he has published papers on this, too. Unbelievable... So above theory that it maybe is good for educational purposes is incorrect. Anyway, journalists shouldn't have reported on this without talking to some serious mathematicians...] [Update: Zoy, thats why I wrote "if you keep standard calculus rules such as associativity, distributivity, etc. - and I find these exceptionally useful. The last example is not using his rules, but standard math, but treats zero like all other numbers, to show that a canonical extension will just not give useful results. My whole point is NOT that you can't define 0/0=Nullity, but that it's not compatible with the standard calculus we're used to and relying on.]

Next.

Previous.