Search Results: "nate"

8 December 2008

Jonathan McDowell: We need a STFU option

The Debian Project recognises that on occasion the General Resolution process is dominated by a vocal minority of the project members, while the majority are uninterested in the topic under discussion. Without wishing to curtail the democratic process it is felt that it should be possible for the silent majority to indicate its desire to move on from the topic of a GR rather than continuing to rehash the same arguments ad infinitum. In order to facilitate this the project resolves to add a further option to all ballets, "No Further Discussion". It is hoped that in the event of the "No Further Discussion" option being the winner of any vote that the project as a whole will accept that discussion of the subject of the vote is not considered to be a worthwhile use of project time or resources, and that we should therefore concentrate on more important matters. (I thought about signing this post, but decided against it)

7 December 2008

Joey Hess: haskell and xmonad

I came back from Thanksgiving in California to find my copy of Real World Haskell had arrived. I've spent the last several days making my way through it up through chapter 10. I'd read a few of the first chapters last year when I was struggling to learn Haskell, and posted enough comments that I'm amoung the (many many) people credited in the Preface. Amusing, since I still don't consider myself proficient in the language. Reading back through those and on through Chapter Nine has swapped back in the basics I learned last year, and built on them. I was able to get all the way to Chapter Ten before hitting real brain-melting stumbling blocks. That's progess! I can't help but feel that Chapter Ten should come later, perhaps after monads are covered. Only other quibbles so far are some typographical problems introduced in typesetting the book, and a few bugs and problems that were pointed out in comments on the web site, but not fixed in time for the first edition.
Anyway, I know more than enough Haskell now to configure xmonad. While I'm still perfectly happy with awesome, xmonad has some cool things going for it. Playing with it this evening, I especially like: My current set of gripes with xmonad is small:

Jon Dowland: 1984

The UK now has it's own equivalent to China's great firewall. My current ISP "bethere" is one of several which have opted into using it. If I try to access the wikipedia article on the Scorpion's album "Virgin Killer" I receive a "404 not found response" which does not originate from Wikipedia. This album had a controversial picture of a young girl naked on the cover. The censoring proxy has blocked access to both wikimedia's copy of the album cover but also the entire article about it (including discussion about the album cover controversy). There are two things in particular that really annoy me about the way this has been implemented. Firstly, the response I get for a censored page is an unadorned 404. At the very least it should be an explanation of why I cannot access the material, and who to contact if there has been a mistake (no doubt in the eyes of our moral superiors there are no mistakes). Secondly, my ISP has signed up for this and implemented it without telling me. I will shortly be moving both my broadband and that of my parents away from them. The scary thing for me about George Orwell's 1984 was not just the total control but how ruthlessly efficiently it was implemented. So far this has been implemented predictably poorly, first of all it's trivial to circumvent the block on wikipedia, at least; secondly, they've inadvertently buggered up editing Wikipedia for those affected.

David Welton: Python "Surpasses" Perl?

There has been some buzz going around about Python "surpassing" Perl in terms of "popularity": http://mail.python.org/pipermail/python-list/2008-November/517191.html However, they're basing their results on the TIOBE survey, which is, in my opinion, even dodgier than my own, at http://www.langpop.com . It's really difficult to pin this sort of thing down, but I think that by utilizing more data sources, my own numbers bear some relationship to what my "ear to the ground" tells me about what's going on, and certainly more than TIOBE's, which place D, Logo and Lua above things like Tcl/Tk. I know Tcl is not the hottest thing out there these days, but...Logo? D is gaining in popularity, but how many companies are hiring D programmers, how much code is out there written in D? I'm not saying that D is "bad" or "not worthy" because of that - quite the contrary, I think it's on its way up, but there are a lot of things you have to look at in order to take a stab at creating some meaningful numbers, and even then it's important to remember that popularity isn't everything! In any case, picking a precise moment in time when one language "passes" another is also a bit more theater than science, in my opinion. Getting back to Perl and Python, I thought I'd look at some numbers of my own. Unfortunately they only go back a year, but they already give us an idea of what's going on. In order to concentrate on something fairly concrete, let's look at Freshmeat projects: Perl is still clearly more widely used. However, I think there's an important distinction to be made in terms of popularity. Since many systems that function ok stay around for years, there's a big difference between what's being used for new systems, and what's out there already. Perl has a lot of code out there already, but how fast is it growing in comparison to Python? Python's definitely got the edge - it's growing, whereas Perl was very nearly static. To me that does indicate that Python has got momentum right now, where Perl is sort of coasting.

David Welton: Python "Surpasses" Perl?

There has been some buzz going around about Python "surpassing" Perl in terms of "popularity": http://mail.python.org/pipermail/python-list/2008-November/517191.html However, they're basing their results on the TIOBE survey, which is, in my opinion, even dodgier than my own, at http://www.langpop.com . It's really difficult to pin this sort of thing down, but I think that by utilizing more data sources, my own numbers bear some relationship to what my "ear to the ground" tells me about what's going on, and certainly more than TIOBE's, which place D, Logo and Lua above things like Tcl/Tk. I know Tcl is not the hottest thing out there these days, but...Logo? D is gaining in popularity, but how many companies are hiring D programmers, how much code is out there written in D? I'm not saying that D is "bad" or "not worthy" because of that - quite the contrary, I think it's on its way up, but there are a lot of things you have to look at in order to take a stab at creating some meaningful numbers, and even then it's important to remember that popularity isn't everything! In any case, picking a precise moment in time when one language "passes" another is also a bit more theater than science, in my opinion. Getting back to Perl and Python, I thought I'd look at some numbers of my own. Unfortunately they only go back a year, but they already give us an idea of what's going on. In order to concentrate on something fairly concrete, let's look at Freshmeat projects: Perl is still clearly more widely used. However, I think there's an important distinction to be made in terms of popularity. Since many systems that function ok stay around for years, there's a big difference between what's being used for new systems, and what's out there already. Perl has a lot of code out there already, but how fast is it growing in comparison to Python? Python's definitely got the edge - it's growing, whereas Perl was very nearly static. To me that does indicate that Python has got momentum right now, where Perl is sort of coasting.

6 December 2008

Mike Hommey: On open source and mobile phones

No software is perfect, and most users happen to have some itches they would like to scratch on them. I don’t know anyone who hasn’t thought some day “why can’t that software do <some feature>”. But not everybody is able to scratch these itches. For a starter, most people aren’t developers, or aren’t able to modify source code to reach some known goal, be it fixing a bug or implementing a missing feature. But even when they are able to do so, most applications can’t be fixed or improved easily: most widespread applications are still proprietary software where access to the source code is either impossible or prohibitively expensive. That’s the good thing about open source and free software: you are able to itch these scratches yourself ; and as a free software user and developer, I often do so in the software I use. I must say it’s even frustrating when you are used to this possibility but end up on damn stupid bugs or limitations you can’t fix in proprietary software. I have quite a bunch of such examples, the most recent ones being with VMware ESX, but that’s another story. Mobile phones are everywhere nowadays. In some countries, there are even more mobile phones than people. A huge amount of people are using them daily. Or maybe should I say “endure”. When you go to shop for a laptop, digital camera, or digital portable music player, you can find demonstration models you can fiddle with, see what the user interface looks like, how it behaves, see if whatever feature you like on such devices is present and how easily you can do what you want. With a mobile phone, you don’t have all that (at least in France and Japan, where I experienced this). You’re lucky if one of the sellers owns the exact model you’d like to test and lends it to you for a minute. Most of the time, the “thing” to watch is a plastic model, not even remotely related to the real thing in colour, weight… and obviously, it has as much use as a brick (not even so, actually, as you can’t, for instance, break windows with it). And most of the time, you end up regretting the choice you made, because the UI is so unuseable, or so slow after a while, or so buggy, etc. More and more phones nowadays have multimedia as their main feature. While it can be nice, especially when you see how some are pretty good at it, and when you consider it avoids you to carry both a phone and a multimedia device. Sadly, they usually forget to be good phones, too. Sometimes even, multimedia(-related) features are crippled by the carriers. As an example, my phone, while able to read mp3 music, has been limited by the carrier to refuse to use them as ring tones, while, according to the maker and to various forums, the phone is perfectly able to do so. It’s even worse than that, because even converted as 3gp, which it otherwise allows as ring tones if you download them at a ridiculous price, it still doesn’t allow to put your music as a ring tone. You got it, features in phones are also limited for big money-making. Fortunately, there is a hole in my phone where I can set a 3gp as ring tone if I do it from the music player instead of the file browser. Most articles I read about Android, or the iPhone SDK, relate how they are great opportunities to enable developers to provide nice applications for users, using the provided frameworks. But the thing is : they’re only applications. An application is not the core of the phone. An application won’t take care of ring tones, or vibration types. And that’s what open source in mobile phones should also allow users to do. That’s what it all should be about. As a user and free-software developer, I would like to enhance my phone like I can enhance my laptop. For instance, my phone will only allow crappy polyphonic tones for SMS or e-mail reception. Digital music is only available when you receive a call. Why ? There is obviously nothing preventing digital musing when receiving SMS or e-mail, except a stupid software restriction that could be fixed if the firmware were open-source. Very few phones in France appear to allow japanese input, let alone proper display of japanese characters in e-mail or on the web. My previous phone was able to display japanese correctly. My current phone doesn’t. Neither of them is able to input japanese (which is not unexpected in France, actually). I know the iPhone does both. Anyways, these are informations very hard to get a hand on before buying a model, and something that open-source would allow me to fix. Even better, it would allow me to take the pieces from the asian version of the same (or similar) phone which probably has the functionality. The phone I had when I was living in Japan had a nice feature that I haven’t seen in any phone in France (but again, this kind of information is very hard to get): different vibration types. For example, you had a vibration type making short vibrations, another one long vibrations, yet another one 3 short vibrations, a short pause, then 3 short vibrations again, etc. This is very useful when you disable ring tones during a meeting or some other occasions where you don’t want to bother the people around you with your phone ringing: depending on how the phone vibrates, you know whether you have to take the call or can ignore it, or if it’s only an e-mail, without taking a look at the phone. Again, an open-source firmware would allow me to implement this. I’m sad so much of what open-source can bring to mobile phones is so badly publicized.

5 December 2008

Martin F. Krafft: forcedeth: nVidia network chips are broken

Yesterday, I removed my new server from the rack and brought it back home, after the problems with the nVidia network chip (forcedeth) took down the NIC to the point that the IPMI chip, which is routed through the primary interface, wasn t reachable anymore. Even though a soft reboot fixed the problem, a bit of large-packet traffic, like downloading via IPv6, broke the card again. Since IPMI is also affected, I cannot remotely manage the machine and thus can t leave it in the rack. In fact, I am strongly considering to make use of the try&buy contract and return the thing. I cannot rule out a software problem, but given that the NIC goes into a state in which it gets unusable even to the IPMI system, which is completely independent of Linux, I somewhat doubt it. Instead, I suspect a hardware error, beyond the known problems with nVidia network chips and segmentation/checksum offloading. On the other hand, it s not news that drivers can break hardware, and the fact that I am using Linux is reason for hope. One alternative, which would allow me to potentially help in fixing this bug, is to use a riser card to stuff a different network card into the server. This would mean I didn t invest all the time into the server for nothing. Unfortunately, this workaround comes with extra costs, and would require Init Seven to allocate another switch port for the IPMI card, which I am not sure they ll be keen about. The bottom line of the story is that I will avoid nVidia even more in the future, and you might want to do so as well. Companies that produce crap hardware and do not cooperate with people writing free drivers for them do not deserve the money. Unfortunately, almost everyone out there uses the MCP55 chipset these days, and deny any problems with it. I guess I will take a look at HP and IBM, although I d really prefer not to pay for their brands, and not to enslave myself to their customer support standards. NP: Neil Young: Dead Man

4 December 2008

Michael Banck: 4 Dec 2008

Opensync updates Some time ago, Opensync-0.38 got released, and it is now available in experimental. The evolution-data-server and the Opie plugins are now available again, as well as the new tomboy (in NEW) and a rewritten google-calendar/contacts plugin. The google plugin requires the new libgcal, which I have just uploaded to NEW. Unfortunately, kitchensync is still not ported to latest Opensync-0.3x (and got dropped for KDE4.2), so one still needs to use the command-line msynctool program. Also not ported are the (KDE3) kdepim and the currently under development Akonadi plugin. Other important plugins missing for 0.38 are the Windows Mobile, Blackberry, Palm and IRMC plugins. I tried to suggest making 0.38.x point releases including more ported plugins, but it seems development is turning towards 0.39 already, and yet some more API changes were done, this time mostly removing unnecessary interfaces, which should be a good thing in the long term. Some other good news is that there are now weekly IRC meetings of the Opensync developers, so there should be steadier progress towards Opensync-0.40 from now on. Unfortunately, I was mostly absent during all of the three meetings so far. Along with Opensync-0.38, libsyncml saw a new major release 0.5.0 which should fix lots of bugs and provide better support for mobiles. However, lots of problems with syncml were due to bugs in the wbxml2 library. Michael Bell has hopefully found the most critical ones and I have uploaded a new wbxml2-0.9.2 to unstable today which I hope will get into lenny soon. The main problem with wbxml2 over the last year was a unresponsive/MIA upstream; however, recently wbxml2 maintainership got tranferred to the opensync project and moved to its Trac. Michael Bell has been fixing most of the outstanding issues and is currently preparing a 0.10.0 release, so this project should be back on track now.

David Welton: Won't fix... why?

I discovered a minor Rails annoyance today, and, looking around for an answer to the problem, I found this, which is a perfect description of the issue, and includes a fix: http://dev.rubyonrails.org/ticket/5123 Unfortunately it has marked as "wont fix" with no reason specified. Perhaps there is a reasonable answer that was perhaps discussed elsewhere, and just didn't make it into the bug report, making it invisible to people like me who find it via Google, which is pretty annoying. The other explanation is more along the lines of "don't wanna" (or fuck you, as the case may be), but at least come out and say so. "We're not going to do it, as it's not part of our English-centric vision" or what have you. Being a native English speaker, even when doing stuff for Italian or Austrian or whatever clients, I tend to code in English, because it's 1) fast, 2) easy and 3) it's pretty much universally understood by programmers. However, I can see the case for specific things to be in a particular language, and on the surface, this one line patch makes that a little bit easier, and doesn't appear to be costly, so why not? Just closing the bugs of people who have taken the time to try and help (this is clearly not just a "dude, it's, uh, broke" bug) is the twin of the equally annoying people who don't bother to take 30 seconds to send an email or bug report about software they're using, and both are things I greatly dislike.

David Welton: Won't fix... why?

I discovered a minor Rails annoyance today, and, looking around for an answer to the problem, I found this, which is a perfect description of the issue, and includes a fix: http://dev.rubyonrails.org/ticket/5123 Unfortunately it has marked as "wont fix" with no reason specified. Perhaps there is a reasonable answer that was perhaps discussed elsewhere, and just didn't make it into the bug report, making it invisible to people like me who find it via Google, which is pretty annoying. The other explanation is more along the lines of "don't wanna" (or fuck you, as the case may be), but at least come out and say so. "We're not going to do it, as it's not part of our English-centric vision" or what have you. Being a native English speaker, even when doing stuff for Italian or Austrian or whatever clients, I tend to code in English, because it's 1) fast, 2) easy and 3) it's pretty much universally understood by programmers. However, I can see the case for specific things to be in a particular language, and on the surface, this one line patch makes that a little bit easier, and doesn't appear to be costly, so why not? Just closing the bugs of people who have taken the time to try and help (this is clearly not just a "dude, it's, uh, broke" bug) is the twin of the equally annoying people who don't bother to take 30 seconds to send an email or bug report about software they're using, and both are things I greatly dislike.

MJ Ray: Do Your Shop Photos Leak?

If you’ve set up an online shop, are your product photos saying more about you than you intended?
“there’s a huge amount of potentially privacy-sensitive metadata in your typical JPEG as generated by your camera (including camera type, settings, date/time, maybe even GPS coordinates of your location, etc).” Source: jhead - List and modify EXIF fields in JPEG photos [Uwe Hermann's blog]
Even worse, if you’ve been using images from your suppliers or the manufacturers without permission, the metadata can be a dead giveaway. You really shouldn’t be using them without permission anyway, though. If you’re using your own photos, want to remove the camera data and you’re not comfortable using the command line, most graphics editors like GIMP allow you to edit or remove that extra information too (I think it’s on Save As… OK… Advanced Options and untick “Save EXIF data” in GIMP). It’s just a bit slower to convert lots of images with a GUI. (I’d usually do that sort of thing from the command line for TTLLP customers.) One fringe benefit is that removing the thumbnails and EXIF makes the images a bit smaller, so they’re quicker to download!

3 December 2008

Stefano Zacchiroli: thanks for the cookies Joss

You remember the bug sprint, don't you? I've already argued how nice the idea was, being a stereotypical example of how in Debian efficiency and fun can (and often must) go together. Well, Joss' cookies have been delivered to my office last Wednesday, unfortunately I wasn't there!!!, due to my participation first in the Debian QA Meeting in Extremadura, and then another academic workshop in Amsterdam. Sadly, I had to "delegate" the task of cookie tasting to other fellow Debian-ers which happen to work with me. Today I've finally got back to my office, and to much of my surprise, 5 cookies were still there waiting for me. In spite of the bad previsions about their health status after a week, they were delicious: simple biscuits, not too sweet, with walnut in pieces, and dark chocolate. So long Joss, and thanks for all the fish cookies.

2 December 2008

Aigars Mahinovs: iPhone review from a free software guy

I got an iPhone on the very first day it was available officially in my country. I have used it every day since then and am now ready to decide how good it really is. Summary: it is a great piece of technology and the only tradeback is the locked down platform. I have abandoned my Palm and am not looking back. Hardware: the hardware is just perfect. 4 buttons (Home, Power, Volume Up and Down) and 1 switch (Mute) are all very clear, easy to find and press and frankly are enough. The touchscreen is reasonably fast and very precise nicely corrected by software that guides your presses toward UI points of interest if such are within your finger. The casing is absolutely solid - there is no gaps, no wobble, nothing. All glossy surfaces attract fingerprints, but a couple passes with a microfiber cloth (included) clean it up easily. The loudspeaker is phenomenal - all sound comes from a single small hole, but it can easily fill a small room with music. Call sound quality is impeccable. You can plug in any headphones, but if you use the included headphones you get a microphone with a button that can pickup and hand up calls, start/pause music and skip to the next track. I also love that the only charger included is a very small power brick that provides a power-only USB port and a USB charging cable. That is a good way to reduce number of power bricks for gadgets. The iPhone 3G (that is what I have) also has a GPS build-in, but let us be clear - it is not good enough to replace a car GPS, the iPhone GPS is slow (takes several seconds to refresh the location and tens of seconds to find it first time) and the precision is measured in meters or even tens of meters. The WiFi is very good at getting a connection and doing it very fast. Oh and there is an acceptable camera. Out of the box software: the software included surely is better than on any other phone I have seen (including Palm). The UI widgets are nicely written specially for a touchscreen interface - the best example is having click wheels instead of drop down menus. It is much easier mentally to flick a wheel up or down then to click on a list, click to scroll the list and then click to select an entry. And the click wheel makes it much easier to correct off-by-one errors. Switches that look like regular physical switches instead of checkboxes is another very useful UI concept. I think a lot of this can be reused on the desktop as well. iTunes: and here comes the bad spot, the lock-in part. To get anywhere with the iPhone you need to associate it with an installation of iTunes. It fails to work in Wine or even in a virtual machine - apparently there are some errors related to avahi or something. Unfortunately, this means that you need wither Windows or MacOS to do nything with your iPhone. iTunes is the only way to backup, restore and upgrade your iPhone, it is the only way to get contacts and music on the iPhone (there is an iTunes Store app in the newest version that allows purchasing music over the air). Even after doing a jailbreak (see further) it is currently not possible to add music to the iPhone from any third party applications, because the iTunes database has a hashed checksum that the build-in iPhone music player (and iTunes) check before doing anything. If the checksum is wrong the only thing you can do is a full restore of the phone from backup. Crypto geeks - please help decrypt that hash, so that we can sync iPhones to amaroK. The iTunes itself is a bit weird - to get music onto the phone you need to create a playlist and then you can sync that playlist over. One of the playlist options is a smart playlist with a random feature and a limit on number of matches. That is the way to get random music from your collection onto the phone. I do dislike the fact that iTunes syncs all the contacts from Google to the phone and not only contacts for a certain group or only those that have a phone number, for example. Search and favorites do help here. Third party software (iTunes Store): it is very easy to install new software on the phone over the WiFi and there is plenty to choose from. You do need a Mac to develop this software which restricts the developer base a bit. The main bases that I needed (or did not know I needed) are covered: Last.fm player, TwitterFon, LockBox password storage, Stanza ebook reader, Shazam music identificator, Wordpress client, BigOven cookbook and lots of fun games. Have not used any paid-for apps due to the fact that iTunes store is not available in Latvia and the official documentation recommends registering with a fake address in UK or US. :) Most of the software is rather stable and useful, but there is also a lot of fluff. User reviews and ratings help a lot, can we have those for Debian packages? Jailbreak and third party software (Cydia): thanks to some anonymous hackers, we have the ability to break the software jail on the iPhone and install software that Apple did not approve. The process is made very simple, but again it does require you to boot into Windows or MacOS X. The main thing the jailbreak process does is install an installer on the phone. Currently the best one is Cydia which is built on top of … apt-get and dpkg! After that is done, you can install a terminal, a ssh server and BossPrefs advanced preferences. There are also other interesting programs there - a different dock, file manager, caching youtube player, quake, themed app launcher with categories and startup page (winterboard). Theoretically the ssh server allows you to manage your music over WiFi from any platform, but unfortunately until the iTuned database hash algorithm is decoded, we can only copy music from the phone to the PC and not back. It is possible to copy files over using ssh and then play them using third-party players, but those players are very crude and featureless. To summarize: an iPhone is a great phone and a decent application platform. To make using an iPhone with Linux easier we need to make iTunes run in Wine (and allow it to see the iPhone) and reverse engineer the iTunes database hashing algorithm so that we can get music on our phones with Linux tools. I also wish there was a way to develop iPhone apps in Linux, but that really is reaching for the stars.

1 December 2008

Matthew Garrett: Thintel

ICH8 docs, section 5.13.5.1:

To eliminate the audible noise caused by aggressive voltage ramps when exiting C4 states at a regular, periodic frequency, the ICH8 supports a method to slow down the
voltage ramp at the processor VR for certain break events.


Sounds good. Section 9.8.1.6:

C4_TIMING_CNT: Bit 6 Slow-C4 Exit Enable When 1, this bit enables the Slow-C4 Exit functionality.

Well, hey, we can quirk this on and make life better for everyone oh wait section 9.8.1.4:

Bit 0 C-STATE_CONFIG_LOCK: When set to 1, this bit locks down the C-State configuration parameters. The following configuration bits become read-only when this bit is set:
...
The entire C4 Timing Control Register (C4_TIMING_CNT)


Thanks, Intel. Thintel.

Jordi Mallach: Iru a

This weekend I had the pleasure of visiting my friend Kike in Iru a, a city I really like but had not been able to visit in five years. I spent three days with him, after a really awful Bilman trip during Friday night. The first thing that happened on Friday morning was quite unexpected. I went out, crossed a pair of streets to get to Carlos III, and going past the corner I found myself surrounded by all kinds of policemen: red, blue, green and yellow. There were press reporters all over the place, with TV and photo cameras ready to record something big. What the hell? I looked around, and there it was: a huge blue sign read Populares de Navarra, and Mariano Rajoy was seconds away from getting out of the new PP headquarters in Nafarroa. With a few dozen policemen looking at me in suspicion, and realising my current hair dress wasn't the most appropriate for that scenario, I decided to disappear as quickly as possible. Populares aside, the weekend was really productive. I had a great time trying to find the places I visited 9 and 5 years ago. It was sad to see the fantastic Iru ako Gaztetxea turned into an iron building surrounded by old, traditional houses in the centre of the city. With Kike, I had enough time to learn more about the origins of Iru a and the three cities from which it originated, and visit the Ciudadela. On Saturday, Kike, Ana and I went to have some fun on a snowy day around Orreaga and had dinner in a small town around the area, maybe Lintzoain? I'm afraid I forgot due to the mix of basque names in my head. We had dinner in lo viejo, where I spotted a poster of Solidari@s con Itoiz for the Itoitz hustu arte campaign, a copy of which I unsuccessfully tried to get in several places in the city. On Sunday, Kike and I took a bus to Donosti, and I travelled across the most beautiful highway I've seen. But of course, that was from my perspective seated in a bus. I can imagine the Leitzaran highway project must have been greatly contested by the people of the tiny towns nearby. The spoiled valleys and views must have been really impressive in the past and seem now irreversibly ruined by a scar and holes through the mountains. This was my first visit to Donosti, which held its annual Marathon, and were lucky to meet our friend Rub n when he was around kilometre 25 of his race. He managed to finish under 2:50, which was a bit better than what he aimed for in his first Marathon. Well done! The weather was horrible, and our visit to La Concha, the old harbour and the Casco Viejo was short, we were freezing and getting our feet wet. While I visited Donosti for the first time, Mikel Laboa, one of the most respected singers in the basque culture, was ebbing away. Laboa's songs always give me goosebumps, even if I need to read a translation for the basque lyrics. Many will remember his music from Julio Medem's documentary, La pelota vasca, featuring Txoria txori, which has become a symbol of basque culture over the years. Youtube has quite a few videos, and I'd recommend watching Txoria txori, Gure bazterrak, Lili bat or Baga biga higa performed by the Orfe n Donostiarra to name a few. Mikel Laboa, goian bego.

30 November 2008

Theodore Ts'o: Followups to the ebooks ethical question

When I have a moment, I’ll try to tally up the responses that I got to “An ethical question involving ebooks”and see if there are any interesting patterns based on self-identified generational markers. Obviously, this is not a properly controlled survey, so the results aren’t going to mean much, but it is interesting that some fairly passionately written comments came from folks who self-identified as coming from generations that broke with the common stereotypes of their respective demographic groups. If I were going to commission a study, one thing that I would almost certainly do is to ask pose a similar question about music and mp3’s, and do have the surveys asking the question about ebooks first, and half the surveys asking the questions about music first. It would be interesting to see if (a) there is a difference in attitudes between music and books, and (b) whether the order of the questions might influence the answers or not. A number of poeple have asked me about the author’s name and the title of the books/series involved. I deliberately didn’t include that information, for a number of reasons. First of all, I don’t believe idenifying the author/books/character involved is relevant to the question at hand, and in fact, might be distracting. Secondly, given the many comments, some of them quite passionate, I don’t think it would be fair to drag her name into the discussion without her permission first. I will say that the author does have a fairly extensive internet presence, and has apparently gotten a lot of questions about said character, and in fact whether those books would be made into ebooks. It’s been made quite clear that while those books were successful, they weren’t that successful, and so from an economic point of view, she chooses to write books that she (and her publishers) feel will be more economically viable. Because there will likely be no further books published containing this character, it is very unlikely that the publisher will reprint the original series of books — and when asked about whether they would be made available in ebook form, her response was effectively “it’s up to the publisher”, Apparently she has worked with a number of publishers, and while publisher X hasn’t been willing to publish her books in ebook form, publisher Y has. Furthermore, it seems that her contracts apparently delegate all decisions about how her books will be published, and whether a large Major Big City Law Firm with Fangs (aka MBCLFF) will go after copyright infringers to her publishers and her agent (who is a lawyer at said MBCLFF, and who could presumably inflict major Hurt on copyright infringers that curry the lawyer’s disfavor). I don’t know if this is true, or just her way of managing her relationship with her fans by disclaiming all responsibility about publication forms and enforcement decisions to others — but some authors do make such choices, if they are much more interested in the writing and storytelling end of things than the business side of things. Which brings up an interesting question with respect to copyright enforcement. It’s pretty obvious that many people will give different answers to the question relating to how much deference should be given to copyrights depending on whether they are owned by The Struggling Author versus whether they are owned by The Big Media Corporate Monolith, with many more allowances given if the question is framed as being primarily about the former rather than the latter. Another way in which how you frame the question radically changes the outcome depends on whether the focus is on making sure the author (and/or his surviving widow/widower/children) get paid or whether the focus is on control of one’s works. If you believe the primary justification is an economic one, then that leads to a series of ethical conclusions — the most obvious of which is that if it doesn’t result in a direct (or perhaps indirect) monetary loss to the author, there should not be a moral or ethical problem. There might be some question as to whether devaluing the secondary market might discourage the sale of new books, and hence indirectly harm the author sufficiently that this should be a concern, but those issues can be worked out. If however, you believe the primary issue at hand is one of control, a very different set of issues have to get factored into the conversation. For example, what if the author was ashamed of a book or series, and wants it to go quietly out of print, and hopefully disappear. How should that be weighed against fans who disagree with the author and who love the series? What is the right balance? For those who argue that the author’s wishes should be sacrosanct — should we move things more in that direction? What if all texts lived in DRM’ed, encrypted containers, and electronic readers had to ask permission of a central authorization server for the text could be displayed. This would allow the author to, after the fact, disable anyone from reading his or her works, if for some reason the author so desired it. Would that be a good thing? If not — and I hope most authors would agree this would be horrific power to give copyright holders — then it’s clear that author’s moral rights as creators should not be entirely sacrosanct, and that the society also has some claims on preserving its culture, and that once a book has been published and becomes part of the culture, society should have some claim on that book as part of culture. Whether that means that copyright terms should be 14 years or 20 years as opposed to whenever the Disney corporation feels like paying off more legislators to extend copyright terms is one way that question could be asked. Another is whether society should have the right to say that if after some number of years where a work has been abandoned for commercial exploitation, whether it should automatically enter the public domain. There are no obvious answers here. The final point that I want to make, which may be fairly controversial amongst the Open Source programmers in the room, is that if you believe that copyright should be fundamentally be about economic arguments of “no harm, no foul”, that this is in direct contradiction with the belief that lawsuits should be used in order to enforce the GPL. After all, the conditions imposed by the GPL are fundamentally about control, not about economic issues. Consider — if someone uses the Busybox project in an embedded device — especially if no changes has been made to the code — who has been harmed, economically? No harm, no foul, right? Or if someone uses GPLv3 code in a firmware which is protected by a digital signature — sure, it means that end users who want to modify the firmware and then use it to enhace/extend the device won’t be able to do so. But how does that economically harm the author of the GPLv3 code? Fundamentally, Copyleft schemes are all about extending control over how the code can be used. Hence, if you are an Free Software programmer who cheers on the activities of the SFLC, or who firmly believes that no one should be allowed to mix firmware which is not shipped with source with your GPL’ed software, it is completely and profoundly hypocritical to say, “F*ck the author’s wishes; if it’s not available in the from I want, I should be able to make a derived work to transfer the work into a form that I want.” What if the author is a luddite who hates eBooks and firmly believes and wants to enforce that their works should never be made available in eBook form. How is that fundamentally different from a Free Software Acolyte saying that because they abhor non-free firmware, and don’t want allow their code to be shipped alongside binary-only firmware?

28 November 2008

Theodore Ts'o: An ethical question involving ebooks

I recently purchased a short story from Fictionwise, which was not DRM’ed, so I could easily get it into a form where I could read it on my Sony eReader. Thanks to that short story, I was introduced to an author, and a character, which I found very engaging. When I decided to find out more about the character, I found that the author had written two additional short stories, and three additional novels many years ago, but has since stopped writing any more books involving that character. Furthermore, the novels have gone out of print, and are only available from amazon.com as used books. Unfortunately, I travel a lot. So much so, that one of the few times that I have time to read is when I’m traveling. And I really dislike having to haul dead-tree versions of my favorite novels around; they take up far too much weight and space in my carry-on luggage. Unfortunately, these out-of-print novels were published by a Neanderthal Publishing company who hasn’t made any of the books available in ebook format, DRM’ed or no. Grumpy, I searched on Internet, and found all three novels were easily available for free download — in a pirated form, of course. Should I download them and convert them into a form which would allow me to read them on my Sony eReader? Well, according to Russell Davis, former chair (and now president of the Science Fiction Writer’s Association) of the SFWA’s Copyright Committee, “electronic infringement is theft”. From a legal perspective, I suppose that is true. And given that as an Open Source programmer, I depend on Copyright Law to assure that my wishes as an author are upheld, it would be hypocritical for me assume that I should be able to ignore Copyright Law just because it is inconvenient. And yet… from a moral perspective, who has really lost anything? The argument made by Russell Davis is that infringement is bad because it is “harming authors and author estates”. Jerry Pournelle has indignantly proclaimed that e-piracy goes against a “specific (and very stern) Biblical injunction against stealing from widows and orphans”. Of course, in this case, the author is still alive (and is female, although I suppose stealing from widowers would be just as bad). Also, given that the author has publically stated she doesn’t plan to write any more books involving this character (since some of her more psychotic readers sent her death threats as a result of reading said books), the publisher is highly unlikely to re-release said novels — and if I buy used dead-tree versions of said novels, the author doesn’t receive any additional royalties. So, then, where is the moral bright line? Somewhere along this continuum, we’ve crossed over from the light-side to the dark-side. Setting aside the observation that the Neanderthal attitudes and business practices of the publisher involved has made it impossible for me to legitimiately follow the law, enjoy the novels, and direct money to the author via royalty payments — what do you think is the morally correct course of action? And why? And if you don’t mind saying so publically, roughly what generation are you from (i.e., Baby Boomer, Gen X, Gen Y, etc.)? I’m curious how attitudes are changing based on age, and whether folks who are currently in college might differ from those who can remember a time when the Internet didn’t exist… Update: I’ve posted a follow-up to this post here.

Russell Coker: Physical vs Virtual Servers

In a comment on my post about Slicehost, Linode, and scaling up servers [1] it was suggested that there is no real difference between a physical server and a set of slices of a virtual server that takes up all the resources of the machine. The commentator notes that it’s easier to manage a virtual machine. When you have a physical machine running at an ISP server room there are many things that need to be monitored, this includes the temperature at various points inside the case and the operation of various parts (fans and hard disks being two obvious ones). When you run the physical server you have to keep such software running (you maintain the base OS). If the ISP owns the server (which is what you need if the server is in another country) then the ISP staff are the main people to review the output. Having to maintain software that provides data for other people is a standard part of a sys-admin’s job, but when that data determines whether the server will die it is easier if one person manages it all. If you have a Xen DomU that uses all the resources of the machine (well all but the small portion used by the Dom0 and the hypervisor) then a failing hard disk could simply be replaced by the ISP staff who would notify you of the expected duration of the RAID rebuild (which would degrade performance). For more serious failures the data could be migrated to another machine, in the case of predicted failures (such as unexpected temperature increases or the failure of a cooling fan) it is possible to migrate a running Xen DomU to another server. If the server migration is handled well then this can be a significant benefit of virtualisation for an ISP customer. Also Xen apparently supports having RAM for a DomU balloon out to a larger size than was used on boot, I haven’t tested this feature and don’t know how well it works. If it supports ballooning to something larger than the physical size in the original server then it would be possible to migrate a running instance to a machine with more RAM to upgrade it. The question is whether it’s worth the cost. Applications which need exactly the resources of one physical server seem pretty rare to me. Applications which need resources that are considerably smaller than a single modern server are very common, and applications which have to be distributed among multiple servers are not that common (although many of us hope that our projects will become so successful ;). So the question of whether it’s worth the cost is often really whether the overhead of virtualisation will make a single large machine image take more resources than a single server can provide (moving from a single server to multiple servers costs a lot of developer time, and moving to a larger single server exponentially increases the price). There is also an issue of latency, all IO operations can be expected to take slightly longer so even if the CPU is at 10% load and there is a lot of free RAM some client operations will still take longer, but I hope that it wouldn’t be enough to compete with the latency of the Internet - even a hard drive seek is faster than the round trip times I expect for IP packets from most customer machines. VMware has published an interesting benchmark of VMware vs Xen vs native hardware [2]. It appears to have been written in February 2007 and while it’s intent is to show VMware as being better than Xen, in most cases it seems to show them both as being good enough. The tests involved virtualising 32bit Windows systems, this doesn’t seem an unreasonable test as many ISPs are offering 32bit virtual machines as 32bit code tends to use less RAM. One unfortunate thing is that they make no explanation of why “Intger Math” might run at just over 80% native performance on VMware and just under 60% native performance on Xen. The other test results seem to show that for a virtualised Windows OS either VMware or Xen will deliver enough performance (apart from the ones where VMware claims that Xen provides only a tiny fraction of native performance - that’s a misconfiguration that is best ignored). Here is an analysis of the VMware benchmark and the XenSource response (which has disappeared from the net) [3]. The Cambridge Xen people have results showing a single Xen DomU delivering more than 90% native performance on a variety of well known benchmarks [4]. As it seems that in every case we can expect more than 90% native performance from a single DomU and as the case of needing more than 90% native performance is rare it seems that there is no real difference that we should care about when running servers and that the ease of management outweighs the small performance benefit from using native hardware. Now it appears that Slicehost [5] caters to people who desire this type of management. Their virtual server plans have RAM going in all powers of two from 256M to 8G, and then they have 15.5G - which seems to imply that they are using physical servers with 16G of RAM and that 15.5G is all that is left after the Xen hypervisor and the Dom0 have taken some. One possible disadvantage of this is that if you want all the CPU power of a server but not so much RAM (or the other way around) then the Slicehost 15.5G plan might involve more hardware being assigned to you than you really need. But given the economies of scale involved in purchasing and managing the large number of servers that Slicehost is running it might cost them more to run a machine with 8G of RAM as a special order than to buy their standard 16G machine. Other virtual hosting companies such as Gandi and Linode clearly describe that they don’t support a single instance taking all the resources of the machine (1/4 and 1/5 of a machine respectively are the maximums). I wonder if they are limiting the size of virtual machines to avoid the possibility of needing to shuffle virtual machines when migrating a running virtual machine. One significant benefit of having a physical machine over renting a collection of DomUs is the ability to run virtual machines as you desire. I prefer to have a set of DomUs on the same physical server so that if one DomU is running slowly then I have the option to optimise other DomUs to free up some capacity. I can change the amounts of RAM and the number of virtual CPUs allocated to each DomU as needed. I am not aware of anyone giving me the option to rent all the capacity of a single server in the form of managed DomUs and then assign the amounts of RAM, disk, and CPU capacity to them as I wish. If Slicehost offered such a deal then one of my clients would probably rent a Slicehost server for this purpose as soon as their current contract runs out. It seems that there is a lot of potential to provide significant new features for virtual hosting. I expect that someone will start offering these things in the near future. I will advise my clients to try and avoid signing any long-term contracts (where long means one year in the context of hosting) so that they keep their options open for future offers.

Russell Coker: Leaving Optus

Today I phoned Optus to disconnect my Internet service. Some time ago I got an Internode [1] SOHO connection. This gave me a much faster upload speed (typically 100KB/s) compared with Optus having a maximum of 25KB/s. Also Internode has better value for large data transfer (where “large” in Australia means 25GB per month) and I get a static IP address. I also get unfiltered Internet access, Optus blocks outbound connections to port 25 which forced me to ssh to another server to test my clients’ mail servers. But the real reason for leaving Optus is based on events two years ago. When I first signed up with Optus four years ago my contract said “unlimited uploads“. What they really meant was “upload as much as you want but if you transfer more than 8KB/s for any period of time you get disconnected“. They claimed that running a default configuration of BitTorrent was a DOS (Denial of Service) attack (the only part of their terms of service that even remotely permitted them to disconnect me). So I was quite unhappy when they cut me off for this. What really offended me was the second time they cut my connection. I had been running BitTorrent on Friday and Saturday, and they cut my connection off on Wednesday. Once it was determined that the issue was uploads we had a bit of a debate about when my BitTorrent session was terminated, it was my clear memory of using killall to end BitTorrent during a commercial break of a TV show on the Saturday night vs the Optus idiot claiming they had a record of me doing big uploads on the Sunday. But I let the help desk person think that they had won that debate in order to focus on the big issue, why large uploads on a Saturday (or a Sunday) should result in a loss of service on Wednesday (three or four days later). They said “it was to teach you a lesson“! The lesson I learned is that it is best to avoid doing business with Optus. I didn’t immediately cancel my contract, if you have both phone and Internet service through Optus they do offer a reasonable deal (there are a variety of discounts that are offered if you have multiple services through them). When discussing this matter in the past it had been suggested to me that I try appealing to the Telecommunications Industry Ombudsman etc. However I didn’t do this because I was in fact breaking the Optus acceptable usage policy for most of the time that I was a customer. When I signed up their AUP prohibited me from running a server and from memory I think it had a specific example of a shell server as something that should not be done, it now prohibits running any automated application that uses the Internet when a human is not present (which presumably includes servers). I’m pretty sure that my SE Linux Play Machine [2] met the criteria. While I’m reviewing Optus service I need to mention their mail server, here is the summary of the Optus anti-spam measures in protecting my email address etbe@optushome.com.au in September (other months were much the same):
131 emails have been sent to your Inbox.
52 of these emails were identified as spam and moved to the Spam Folder.
39% of your email has been identified as spam. The email address in question only received legitimate mail from Optus. This meant that I received between two and four valid messages a month, the rest were all spam. So of the 79 messages delivered to me, at least 75 were spam, and Optus blocked less than half the spam. But to be fair, given that the Optus mail servers are listed on some of the DNSBLs it seems reasonable for them to be lax in anti-spam measures. I wonder whether it would be reasonable for an ISP of Optus scale to run the SpamAssassin milter on mail received by their outbound relays to reject the most gross spam from customer machines. But Optus are good at some things. The download speed was always very good (I could receive data at 1MB/s if the remote server could send that fast). Also their procedures for account cancellation are quite good. The guy who took my call offered to transfer me to the complaints department when I mentioned how I was “taught a lesson”, he also offered me a significant discount if I was to continue using the service. In retrospect I should have had that conversation six months ago and had some cheap service from Optus before getting rid of them. Getting the account terminated happened in a couple of hours. It was so quick that I hadn’t got around to transferring my Play Machine to my Internode account before it happened, so I had a few hours of down-time.

Martin F. Krafft: Up the Khyber!

What started with a little host naming theme riddle, and spread as a meme across various planets, has come full circle today, as I installed a new machine, khyber.madduck.net in the racks hosted at the LayerOne colocation site in Z rich. Init Seven, my favourite Swiss ISP, are sponsoring the rack space and connectivity: a routed /28 IPv4 subnet and a /64 IPv6 subnet. The machine is a Transtec Calleo 331 1U server with two quad-core AMD Opteron 2354 processors, 16Gb of RAM, and 4Tb of disk space, configured into a 2Tb RAID1 with LVM on top. It will be used to host a couple of KVM instances for a number of projects I currently operate off my main, personal server, pulse.madduck.net. Unfortunately, Transtec (as well as most other vendors I checked out) uses nVidia s MCP55Pro chipset, which had me sceptical long before I sent the order. nVidia is known to suck at thinking open-source, and the Linux kernel driver for their network chips, forcedeth, had to be reverse-engineered, because nVidia failed to cooperate. Apart from that, nVidia s chips are also often simply crap. Many of their motherboards come with broken APICs and the network chips often wreak havoc on subnets. I find it curious that a search for MCP55 or MCP55Pro on the nVidia website yields no results. Given these expectations, I insisted on a try-and-buy contract, which are not default in Switzerland (as opposed to the EU). My fears proved right, it wasn t long until I encountered the first problems with nVidia s crap: the network chip is unable to deal with segmentation offloading for larger packets, e.g. those with IPv6 payload in a bridging context, and generic segmentation offloading has to be turned off on the interface:
ethtool -K eth0 gso off

This fixes the issue, and so I stuffed it into /etc/network/interfaces and decided to keep the machine, especially after having invested the time into the server to figure out how to work the watchdog and the IPMI card. The folks behind Transtec s support hotline are helpful, but it took me a bit of time to get the information I wanted out of them. At least they deemed it perfectly natural that I wanted to run Debian, and never questioned that. Let s document some of the more internal specs here for posterity: The BIOS gives the impression of two separate watchdogs, one on the IPMI card (a SIMSO+) and one on the mainboard itself (a SuperMicro H8DMU+). Transtec told me that SuperMicro disabled the IPMI watchdog (called BMC watchdog in the BIOS) with firmware 1.29, leaving only the one on the motherboard. It took a bit of time to find out that this was a W83627THF and supported by the w83627hf_wdt driver, which I configured with module options timeout=120 nowayout=1. I left the BIOS setting at disabled since that would otherwise interfere with booting e.g. the awesome grml live system by rebooting the machine after the set amount of time. It also took a bit of time to get SOL working with the IPMI card. In the end, I found it to work best by configuring the console redirection in the BIOS to use COM2 with 38400/n/8, using hardware flow control, redirection-after-POST always, and vt100 emulation ANSI and vt-utf8 emulation were horrific. I instructed the bootloader to pass console=tty0 console=ttyS1,38400n8 to the kernel (order matters), and configured agetty in /etc/inittab like this:
T0:2345:respawn:/sbin/getty -8hL ttyS1 38400n8 vt100

To guard against the worst, I also left a grml CD in the drive, to be able to boot a rescue system via SOL in case everything else was broken. The following kernel boot parameters enable me to use the rescue system via IPMI:
vga=normal noeject noprompt console=tty0 console=ttyS1,38400n8 forensic

Michael Prokop of the grml project tried to create a customised ISO image with these options for me, but I kept getting medium errors trying to read it, independent of the burner, CD-writing-software, operating system used to burn, medium, and drive used to read, so it s possible that the ISO image is faulty. Michael used the following command line to create it (supporting files are here):
grml-live -t ~/templates-madduck -c GRMLBASE,GRML_MEDIUM,AMD64 -o \
  /grml-live/grml64-medium_2008.11-madduck -a amd64 -s sid -v \
  2008.11-madduck -g grml64-medium -r Schluchtenscheisser -V -b

Until we figure out the problem with this, the grml64 0.2 CD in the drive will do. The machine is now operational, but the IPv6 prefix I have still arrives at vera.madduck.net, a Xen-Instance hosted by Init Seven, which I will no longer need, once I find the time to migrate all the services it hosts. NP: This Will Destroy You: Young Mountain

Next.

Previous.