Search Results: "tar"

29 December 2008

Neil Williams: When firmware is not software

So the failings of the GR result in just what everyone didn't need - a restarted discussion about the firmware issue without first releasing Lenny. Come on people, leave it alone and get Lenny done. Anthony, Thomas and Theodore (also in his blog) all seem to be missing the point(s):



To me, it's more like data for the chips - it's saying "this is who you are, this is what you do and this is how to understand all subsequent instructions". Software is what follows - the instructions themselves.

We have a very good understanding of the separation between software and data in userspace - we all recognise that unless the output of a program consists to a large extent of modified versions of already licensed code (e.g. code generators), then the data created by your free software GPL-3+ text editor (or blogging client) cannot be deemed to be under the GPL-3+ or any other licence until such a statement is made by the copyright holder and that the copyright holder is the user of the software, not the author of the software. I could quite easily put this blog under a Microsoft-style EULA or even NDA if I wanted to be obtuse, despite it being created using a free software stack. The point remains - I am the copyright holder of the content created using the free software on my machines and I am free to publish that data as I see fit. The authors of the software itself have no rights to dictate what I do with the content I create using the software, just as I - as a user - cannot dictate whether the authors of my editor choose to migrate from GPL-2+ to GPL-3+ or even BSD.

Where firmware can have source code, let it have source code - we have such packages in Debian already. Even then, much of the code may be simply calculations or conditionals to select the right combination of binary flags for specific situations. This isn't about Nvidia kernel drivers that do real runtime calculations during the entire runtime of the machine, this is about tiny bits of initialisation data that are set once and not touched again. Can we not accept that some firmware is derived from a process that does not involve source code? How about experimentation and calculation? We know the voltage on pins 5 and 19, we know the state of register A and that for this specific case, it needs to be toggled to match the state of register E because otherwise another chip on the same board gets confused, so setup the chip to do that by setting a firmware datum point to initialise A? Where's the source code in that process? There is none - it is a piece of data, an item in the design notes (or more likely the errata). Yes, maybe the chip should know how to set this datum itself but for whatever reason (probably financial), it doesn't.

Source code could be used to calculate the datum point for a range of chips and chipsets according to a range of data inputs but the creative effort is then in the calculation not the data. The chip doesn't want the calculation, it cannot perform a calculation in this uninitialised state, it needs the datum point. Once it has the registers set, it can then understand subsequent instructions - the software itself. The datum point itself is just a raw piece of initialisation junk for the chip, it has no source code, it is determined by a physical process. It is a reference point - a fixed value that is determined during the design of the chip and/or chipset.

It's like saying you want the source code that determines whether there are one hundred cents in a Euro so that you could modify it to create a thousand or just ten or maybe turn the Euro into a hexadecimal currency. Weird. The fact that the Euro has one hundred sub-divisions is not up for negotiation, it isn't a modifiable value - changing the value unilaterally is not going to magically make everyone use the new value. It is a fixed reference point - a single datum point that initialises all subsequent behaviour of all software utilising such a currency. Even if there was source code (gee, what could that be, do you think? "%.2i" ?) it would be meaningless to insist on being able to modify it.

Few people can make the judgement about whether particular firmware can or cannot have source code - in most cases it comes down to the hardware design of either just the chip or how the chip is utilised for a particular board.

At some point, Debian has to accept that we cannot know if source code was used to create a particular blob. We simply have to ensure that maintainers ask upstream, elucidate as much information as possible about how the firmware was created and document that in debian/copyright. If that information is proved to be incorrect, then we have to deal with it as best we can - on a package-by-package basis. The assumption has to be that firmware does not necessarily have any source code.

In the end, I think the GR came up with the right result, despite all the failings - Option 5, assume that firmware is compliant with the GPL unless there is evidence to the contrary.

Sometimes, there simply is no source code - sometimes all you have is data.

Debian cannot insist on source code for data that is not generated from source code and it is the difficulty in deciding whether one set of figures is initialisation data or a set of compiled instructions that will defeat all debate on a general solution for the firmware debate. It is comparing apples and oranges - we can insist on source code where source code was used but we also have to accept that some firmware is identified, not programmed. In the end, Debian will have to trust the maintainer and the maintainer will have to trust upstream. Documenting that in debian/copyright seems to be the only sane option.

Now can we all just shut up and release Lenny? Please?

MJ Ray: Looking Back: 2008 Part 3

This is the final part of my review of popular articles on my news websites during 2008. It follows part 1 and part 2, but it can be enjoyed on its own, like an nice ripe cheese. Unlike one friend, I do not like cheese for breakfast.
September
  • Are Your Free Software T-Shirts Ethical? This question got a lot of views, but no answers yet. Again, those statistics surprised me.
  • Away From Keyboard was a listing of events I attended in early September, with some links to summaries in the article and the comments. (I can t find my Bristol Knowledge Unconference report just now. Did I post it to another site?)
October
  • The Trouble With Big Webmail built on my past comments about Yahoo and broadens them to Hotmail/Live and GoogleMail. I m still convinced those sites remain popular because they are good at marketing, rather than being good at email. In fact, they re so bad at email, almost no-one should use them.
  • Pulling One File From a Plesk Backup - It seems I wasn t the only person not to know about that.
  • Nestle Boycott 20th Anniversary seems to be the only time I wrote about boycotts this year, surprisingly (I know I m pretty militant and direct-action-y), but what more deserving target?
November
  • Which Social Bookmarking? was by far the most popular article in November and it also got lots of helpful comments. I posted my review and choices (such as they are) a few days ago.
December
  • Bristol Alternative Christmas Quiz. Everyone loves a good seasonal quiz, it seems. I didn t get to it (arrrrrrrrrgh busy!) but I hope it went well for BWCC.
  • Smart Tricks with ssh was only the second meme-like post to make the most popular list this year.
  • and it s still a bit early to evaluate articles from late December! I may add a few to this list later.
Happy New Year 2009, in case I don t see you before then!

28 December 2008

Rudy Godoy: back with the crowd

Last night I ve been recalling how many debconfs I ve already missed and this got me thinking about how long I ve been a bit off the records on my Debian involvement. Many things have happened in the last couple of years, many for the good. I ve started a business and learned a lot about entrepreneurship, resumed my computer science career, started a pretty awesome (yet to be released) personal project involving music and computers, and most important: discovered what I want from life, who I want to be and who I d love to be with :) Latest weeks I ve progresivily started to get back on track with my Debian duties. Took care of my packages, update some information, kept track on current issues and hanged on IRC. While doing that I ve found some issues I d like to elaborate on later, so we could improve things. So, expect me to be more active and post updates about my findings. It s good to be back! I ve missed you guys :)

John Goerzen: Real World Haskell update

There s been quite the activity around this book lately. Pat Eyler of On Ruby published an interview with the three of us RWH authors. It apparently got some very positive comments on Reddit. Over on Amazon, the book is continuing its streak of 5-star reviews. When I see a review there titled Finally a Haskell book that I could understand , I am very glad that we took the time to write Real World Haskell. It is great to know that people find it useful. Some of you may know that the book is licensed under a Creative Commons license. This is most certainly not common in the publishing world these days, and O Reilly took a risk by letting us do it. We had tremendous community participation while we were writing it, and O Reilly is quite pleased with the sales so far. I hope that this bodes well for future books released under such a license.

Andrew Pollock: [life/americania] The Civic Musical Road and Other Adventures

It's not a holiday without a road trip, especially with petrol prices being lower now than they were three years ago when we arrived here. So we headed off on Christmas Day for San Simeon, with the general plan to tour Hearst Castle on Boxing Day (which isn't a public holiday in the US, but is a company holiday), and then head to Thousand Oaks, to visit a friend of Sarah's who also had heart surgery this year, and then head home. We'd hatched this plan a few months ago, and afterwards, saw a news piece on the "Civic Musical Road", and when we discovered it wasn't too far from Thousand Oaks in the grand scheme of things, we decided to throw that on the itinerary as well. I found a five-part "making of" documentary on YouTube, along with what I presume is the original commercial, and of course, we had to record the experience. Making of, part 1 Making of, part 2 Making of, part 3 Making of, part 4 Making of, part 5 Presumably the final commercial Our experience (on the relocated version)

Theodore Ts'o: Debian, Philosophy, and People

Given the recent brouhaha in Debian, and General Resolution regarding Lenny s Release policy as it relates to Firmware and Debian s Social Contract, which has led to the resignation of Manoj Srivastava from the position of Secretary for the Debian Project, I m reminded of the following passage from Gordon Dickson s Tactics of Mistakes (part of Dickson s Childe Cycle, in which he tells the story of the rise of the Dorsai):
No, said Cletus. I m trying to explain to you why I d never make an Exotic. In your calmness in the face of possible torture and the need to kill yourself, you were showing a particular form of ruthlessness. It was ruthlessness toward yourself but that s only the back side of the coin. You Exotics are essentially ruthless toward all men, because you re philosophers, and by and large, philosophers are ruthless people. Cletus! Mondar shook his head. Do you realize what you re saying? Of course, said Cletus, quietly. And you realize it as well as I do. The immediate teaching of philosophers may be gentle, but the theory behind their teaching is without compunction and that s why so much bloodshed and misery has always attended the paths of their followers, who claim to live by those teachings. More blood s been spilled by the militant adherents of prophets of change than by any other group of people down through the history of man.
The conflict between idealism and pragmatism is a very old one in the Free and Open Source Software Movement. At one end of the spectrum stands Richard Stallman, who has never compromised on issues regarding his vision of Software Freedom. Standing at various distances from this idealistic pole are various members of the Open Source Community. For example, in the mid-1990 s, I used to give presentations about Linux using Microsoft Powerpoint. There were those in the audience that would give me grief about using a non-free program such as MS Powerpoint, but my response was that I saw no difference between driving a car which had non-free firmware and using a non-free slide presentation program. I would prefer to use free office suite, but at the time, nothing approached the usability of Powerpoint, and while dual-booting into Windows was a pain, I could do a better job using Powerpoint than other tools, and I refused to handcap myself just to salve the sensibilities of those who felt very strongly about Free Software and who viewed the use of all non-Free Software as an ultimate evil that must be stamped out at all costs. It is the notion of Free Software as a philosophy, with no compromises, which has been the source of many of the disputes inside Debian. Consider, if you will, the first clause of the Debian Social Contract:
Debian will remain 100% free We provide the guidelines that we use to determine if a work is free in the document entitled The Debian Free Software Guidelines. We promise that the Debian system and all its components will be free according to these guidelines. We will support people who create or use both free and non-free works on Debian. We will never make the system require the use of a non-free component.
This clause has in it no room for compromise. Note the use of words such as 100% free and never make the system require the use of a non-free component (emphasis mine). In addition, the Debian Social Contract tends to be interpreted by Computer Programmers, who view such imperatives as constraints that must never be violated, under any circumstances. Unfortunately, the real world is rarely so cut-and-dried. Even the most basic injunctions, such as Thou shalt not kill have exceptions. Few people might agree with claims made by the U.S. Republican Party that the war in Iraq qualified as a Just War as defined by Thomas Aquinas, but rather more people might agree that the July 20, 1944 plot to assassinate Hitler would be considered justifiable. And most people would probably agree most of the actions undertaken by the Allied Soldiers on World War II battlefields that involved killing other soldiers would be considered a valid exception to the moral (and for those in the Judeo-Christian tradition, biblical) injunction, Thou shalt not kill . As another example, consider the novel and musical Les Mis rables, by Victor Hugo. One of the key themes of this story is whether or not Thou shalt not steal is an absolute or not. Ultimately, the police inspector Javert, who lived his whole life asserting that law (untempered by mercy, or any other human considerations) was more important than all else, drowns himself in the Seine when he realizes that his life s fundamental organizing principle was at odds with what was ultimately the Right Thing To Do. So if even the sixth and eighth commandments admit to exceptions, why is it that some Debian developers approach the first clause of the Debian Social Contract with a take-no-prisoners, no-exceptions policy? Especially given the fourth clause of the Debian Social contract:
Our priorities are our users and free software We will be guided by the needs of our users and the free software community. We will place their interests first in our priorities. We will support the needs of our users for operation in many different kinds of computing environments. We will not object to non-free works that are intended to be used on Debian systems, or attempt to charge a fee to people who create or use such works. We will allow others to create distributions containing both the Debian system and other works, without any fee from us. In furtherance of these goals, we will provide an integrated system of high-quality materials with no legal restrictions that would prevent such uses of the system.
This clause does not have the same sort of absolutist words as the first clause, so many Debian Developers have held that the needs of the users is defined by 100% free software . Others have not agreed with this interpretation but regardless of how needs of the users should be interpreted, the fact of the matter is, injuctions such as Thou shalt not kill are just as absolute and yet in the real world, we recognize that there are exceptions to such absolutes, apparently unyielding claims on our behavior. I personally believe that 100% free software is a wonderful aspirational goal, but in particular with regards to standards documents and firmware, there are other considerations that should be taken into account. People of good will may disagree about what those exceptions should be, but I think one thing that we should consider as even higher priority and with a greater claim on how we behave is the needs of our users and fellow developers as people. For those who claim Christianity as their religious tradition, Jesus once stated,
Thou shalt love the Lord thy God with all thy heart, and with all thy soul, and with all thy mind. This is the first and great commandment. And the second is like unto it: Thou shalt love thy neighbour as thyself. On these two commandments hang all the law and the prophets.
Even for those who do not claim Christianity as their religious tradition, most moral and ethical frameworks have some variant on the Golden Rule: Do unto others as you would have them do unto you . I would consider, for example, that the Golden Rule is at least a high priority claim on my behavior as the notion of free speech, and in many cases, it would be a higher priority claim. The recent controversy surrounding Josselin Mouette was started precisely because Joss has taken a something which is a good thing, namely Free Speech, and relegated it to a principle more important than all else, and claiming that any restraint on such a notion was equivalent to censorship. I think the same thing is true for free software, although it is a subtler trap. Philosophical claims than 100% free software as most important consideration is dangerously close to treating Free Software as the Object of Ultimate Concern or in religious terms, idolotry. For those who are religious, it s clear why this is a bad thing; for those who aren t if you are unwilling to worship a supernatural being, you may want to very carefully consider whether you are willing to take a philosophical construct and raise it to a position of commanding your highest allegiance to all else, including how you treat other people. Ultimately, I consider people to be more important than computers, hardware or software. So over time, while I may have had some disagreements with how Mark Shuttleworth has run Canonical Software and Ubuntu (but hey, he s the multimillionaire, and I m not), I have to give him props for Ubuntu s Code of Conduct. If Debian Developer took the some kind of Code of Conduct at least as seriously as the Social Contract, I think interactions between Debian Developers would be far more efficient, and in the end the project would be far more successful. This may, however, require lessening the importance of philosophical constructs such as Free Speech and Free Software, and perhaps becoming more pragmatic and more considerate towards one another.

Aigars Mahinovs: How to survive a coffee cup - guide for laptop (and cat) owners

Yesterday my cat spilled a full cup of hot coffee on my 2k$+ laptop. Today, there is no trace of the incident and the laptop is working perfectly again. This is partially thanks to luck, partially to Dell laptop engineering and partially to my instinctive actions within first 10 seconds of the incident. I will recap it here so that if you happen to have a mishap of such kind you would know what to do to save your laptop. The first thing I did is pick up the laptop (so that extra coffee from the table would not go into the vents at the bottom of the laptop) keeping the corner that was soaked with coffee downwards. With one hand I held the notebook and pressed and held the Power button to turn the laptop off as soon as possible. With the other hand I removed the power cord and tried to remove the battery as well. It took a couple seconds, but when that was done and the laptop was placed on a towel on the floor the time sensitive part was over. After that was the clean-up. Coffee from the table and floor (so that other things don t get soaked), coffee form the outside of the laptop (with a damp cloth), After that I disassembled my laptop down to removing the motherboard and checking it for damage. Where ever I found traces of coffee, I cleaned them up with cotton swabs and spirit (clean water would also work, but would require more drying time). After I cleaned and dried every part off with a fan, I put the laptop back together. It took around 2 hours (more like 4 because I had to ask my girlfriend to pick up a new screwdriver on her way home as I lost mine). Everything was working, except the keyboard. Bits of coffee got inside the keyboard and were shortening the wires so some lines of buttons were not working and some were activating other keys when pressed. On an advice from a fried, I took out the keyboard and washed it. I simply put the keyboard under a stream on running water and made sure that the water got into every possible and impossible opening. After 5 minutes of washing I got the hairdryer and proceeded to dry the keyboard. After an hour I put it in, but it still did not work, so I left it on a heating radiator overnight. After around 18 hours of drying the keyboard started working again. Oh and it was cleaner than it ever was :D Summary: Do not panic! Get water out of you laptop, get it turned off, disconnect power and remove the battery. If you manage to do all that in 10 seconds or less, you might have a chance of seeing your laptop boot up again.

Joachim Breitner: MuMer relaunch preview online

A few years ago, I had some ideas about a real-world trading game. In short, a combination of the game play of Settlers of Catan , the cute pseudo-medieval world of The Settlers (the computer game), which you can play in your every day live along, without having to sit in front of the computer for a long time. I then started some code, lost motivation and let it sit there for a while.Recently, I re-developed interest in the idea and started from scratch, using Haskell and HAppS. To avoid losing interest again, I m now putting the code online and set up the server. I invite everyone to play around with it, maybe have a look at the code, send me patches or comments. As you can see, the web user interface is plain ugly HTML and could need some love. Some CSS is definitely needed, some AJAX would be nice. Also, the resource tree is very small at the moment there are a lot of things to work on, even if you don t want to touch Haskell!You can register at http://mumer.net/. You will be either given a forest (a source for wood) or a source of stone. You can reap your source, and trade on the Free Market , which is where you can always trade online, at bad prices. The idea is that you find real trade partners, to get better prices.For now, trading without physical contact is possible. You can create so-called issue ids, which represent stips of paper. You can then load resources on them, and give the paper (i.e. the number) to other players, who can then redeem them. Eventually, it is planned that these pieces of paper are provided centrally and (sufficiently) unforgeable, so that it is clear who owns a resource.You can also bid on certain stuff, such as a sawmil, which allows you to turn wood into boards. It will regularily be re-leased to the highest bidder.You can get the code (in a darcs repository) from http://darcs.nomeata.de/mumer2 and also browse the code.If you happen to be at the CCC right now and would like to talk about it, please do so!

Adeodato Sim : Ooh, irssi's activity_hide_targets

A while ago I dropped from a number of IRC channels, in a quest for a more productive work environment. The problem was that I look at my IRC window often, and if I see any windows with activity, I will go and read them. Recently I ve wanted to hang around in #git, because I was writing some (minor) patches and thought it d be nice to be available there. This is a fairly active channel, and whenever there was activity, I couldn t help go and look, knowing in advance it d be (mostly) uninteresting for me. So I concluded that what I really needed was to tell irssi: don t tell me there s activity in #git, unless somebody highlights me. And this is precisely what the activity_hide_targets option does. Just set it to a list of channels you want to ignore. This has also allowed me to return to a couple Debian channels that I had dropped, and maybe I ll add an extra two back.

Josselin Mouette: The session non-manager

For various reasons (which in the end boil down to lack of manpower), we are quite late in the process of packaging GNOME 2.24. (This is almost finished now, I ll keep you informed.) Which is why I may sound coming a bit late on noticing this one, but I was really speechless. The problem: session management has flaws Currently, a session manager uses XSMP (the X Session Management Protocol) to talk to applications. What it means is that for applications supporting this protocol, it is able to do more than simply starting and killing them: it will also remember their state, and offer them a way to shut down gracefully. However, XSMP is really a shitty protocol I won t explain why here, you will find tons of better explanations on the intarweb. The gnome-session developers, being quite aware of this issue, did what anyone interested enough would have done: they designed a new protocol, based on D-Bus, and implemented it. The new protocol is not considered stable yet, but it is simple, efficient and above all, reliable that s a giant leap forward. For this reason, I was very excited to see what gnome-session 2.24 would look like, since it brings major cleanups in the code. The solution: remove session management! When I first started it, it did not restore my saved session. I simply supposed that the format of the saved session had changed, and that writing a conversion tool would be in order. Wrong. Let s bring the session preferences:
The UI of this dialog hasn t changed since 2.22. However, I do not resist the urge to show you the code behind the Remember Currently Running Applications button:
static void
on_save_session_clicked (GtkWidget           *widget,
                         GsmPropertiesDialog *dialog)
 
        g_debug ("Session saving is not implemented yet!");
 
As for the check box on top of it, it sets a GConf value that is never read anywhere. If you know the long term plans for GNOME, it makes sense: when gnome-shell replaces the panel and the window manager, it will also be responsible for starting the visible applications, while gnome-session will deal with what s happening behind the scenes. But gnome-shell is still far from ready, and you need something in the meantime for the basic requirements of a session manager! Backwards compawhat? The surprises don t stop here. I also noticed that logout was much faster instantaneous instead of the usual 2-3 seconds. The reason why logging out is this long currently is not because it takes long to kill applications; it s because the session manager kindly requests applications supporting XSMP to shut down before killing them. If a document isn t saved, an application will be able to prevent the logout process. Guess what? Now gnome-session completely ignores XSMP applications. Since it doesn t need them to register for saving the session, it also saves the time to ask them to close cleanly. The result is that you will see a lot of such dialogs:
It s very nice to replace a flawed protocol ; and really, the new protocol goes in the correct direction. But let s be realistic, it s impossible to immediately port hundreds of applications to a new protocol without having a transition time during which both protocols are supported. You also need to consider your protocol as stable before asking other developers to port their applications. And to get it accepted, you need to standardize it; freedesktop.org would have been the correct body. (Currently, the protocol lies in the org.gnome namespace, not org.freedesktop.) Release management at its best Wait aren t there some distributions out there which already released stable versions with GNOME 2.24? The answer is yes. At least Ubuntu Intrepid and Fedora Core 10 ship with a session manager that: It s good to see such improvements on the session manager coming, and I m really thankful to the gnome-session developers to work on it. What I wonder is: It definitely looks like we re not the only ones who could improve our release management processes. So what? This is a very good example of a lack of big picture thinking. On one side, there is a brilliant design and its good implementation. On the other side, two major regressions from the user s point of view the kind of regressions that make people fly away. If there s one thing that I ve learned from working in IT, it s that you must often keep your brilliant designs as long-term goals. In the short term, you will run a bastardized version of your brilliant design that will make you cry; but it will work. When you need to talk to shitty applications or with shitty protocols, you need to write shitty code.

Russ Allbery: Lintian 2.1.3

Over the last couple of days, I've found some time to work on Lintian for the first time in quite a while. It's been a good feeling both for getting back to a project that I've done very little on for several months and finally feeling energized about a coding project. I think after a week of vacation, I'm starting to recover my energy. I uploaded Lintian 2.1.3 earlier today and am currently doing a fresh archive-wide run for lintian.debian.org. This version has several new checks for watch files from Raphael Geissert, several fixes for the lintian.d.o output, a few other random bug fixes, and an attempt to tackle unversioned shared libraries in a more comprehensive fashion. Shared libraries with an SONAME that doesn't contain a version number can't be represented in the shlibs system (but can in the symbols system), so Lintian always reports them as missing from shlibs when they're installed in public directories. That's not really the right tag, since they don't belong in shlibs. The more basic problem is that, except for a few special cases mostly coming from libc, they really don't belong in public directories. With no versioning in the SONAME, we can't handle changes to the ABI without completely changing the library name and can't use the shlibs system to manage them. Most of the libraries in this situation are actually private libraries for one particular application. As Policy already says, those libraries shouidn't be installed in public directories like /usr/lib; they should be installed in private subdirectories of /usr/lib for that application. The biggest group of offenders here currently seems to be KDE; for some reason, unless I'm missing something, this seems to be a semi-standard KDE way of doing things. This version of Lintian will hopefully handle this better. Such libraries won't be expected to be in shlibs files and won't get erroneous tags about not being listed there. We'll also do a better job of distinguishing between versioned shared libraries and shared library names that just contain a hyphen. Such unversioned libraries will get a separate tag pointing at the portion of Policy that says to put private libraries and plugins in a subdirectory instead of /usr/lib. Thanks as always to Frank Lichtenheld, Adam D. Barratt, and Jord Polo for all the hard work they've been putting into Lintian. It's gotten much better over the few months that I've not been able to work on it, which is making me more excited to get back to it and do more.

27 December 2008

Muammar El Khatib: 25

Today, I am turning 25. Now what?! It's a quarter of a century!. Now, I have friends who I have met for more than 15 years... How fast the time pass by... Now, I am not the one making fun of those who were 25 years old... (If I remember it well, I used to do it when I was 20).

It's time to redefine some stuff in my life. I confess this age has had an impact on me. My next goals, in a short time, are :

1) Finish my NM process.
2) Write my thesis.
3) Make a publication of a paper about DNA in a Journal of Chemistry.

There is a phrase of John Randolph which I'd like to share: Time is at once the most valuable and the most perishable of all our possessions.

Jaldhar Vyas: No Blobs!

So in the end I decided to vote in the Lenny/DFSG violations GR despite lingering apathy. Option 5 won so hopefully we can get on with releasing the next stable version of Debian. For giggles, I explained all the issues to my daughter Shailaja and asked for her opinion. Her advice is that we should not worry about firmware being non-free because it could take a long time to sort out and in the mean time people would get fed up of waiting for Debian and go somewhere else. However we should make a big list of all the devices that require the binary blobs and tell everyone not to use them. To this end she has made the following sign you can copy and send to recalcitrant hardware manufacturers. no blobs

Sandro Tosi: Thinkpad T30, SmartLink modem and Teleconomy

Being left in the IT medieval, thanks to my lovely telco, the only way I can (very far away) simulate a broadband connection, is stipulating a flat 56k contract (don't laugh, please). The name of this "offer" is TeleconomyInternet.

Do you think that firing up gnome-ppp on a Thinkpad T30 laptop would work at the first try? Of course not... The problem seems to be in the telephone number to call, that badly interact with SmartLink 56k modem. Here's the story, in case you'll find yourself in the same situation.

The modem on the T30 is:
$ lspci   grep Modem
00:1f.6 Modem: Intel Corporation 82801CA/CAM AC'97 Modem Controller (rev 02)
that is a SmartLink modem, supported well by sl-modem-deamon package and by alsa:
$ ps -eo command   grep slm
/usr/sbin/slmodemd --alsa -c ITALY modem:1
Remember to edit /etc/default/sl-modem-daemon file and set the right country for you.

Now, I installed gnome-ppp (just to try an easy tool), that uses wvdial under the hood.

wvdial auto-detection utility works quite well, and the found Init2 string:
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
works well if the number to call is a local one (I tried it before, and worked). Since Teleconomy provides a state-wide number (702...) with the above string the connection will fail with a sad:
NO CARRIER
No Carrier! Trying again.
But there is a fix: first, the Init1 should be ATX3 (but it seems to be enbedded in the one below), and the last arguments must be changed (well, I think it has something to do with line speed (MS=34 will result in a 33.6k line) or protocol, but don't care too much as long as it works) resulting in this Init2:
ATX3Q0 V1 E1 S0=0 &C1 &D2 +MS=90
And remember to select the "stupid mode" in gnome-ppp, and you'll have a nice:
--> Initializing modem.
--> Sending: ATX3
ATX3
OK
--> Sending: ATX3Q0 V1 E1 S0=0 &C1 &D2 +MS=90
ATX3Q0 V1 E1 S0=0 &C1 &D2 +MS=90
OK
Modem initialized.
Sending: ATM1L3DT7020187187
Waiting for carrier.
ATM1L3DT7020187187
CONNECT 52000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Dec 26 19:12:23 2008
--> Pid of pppd: 4870
--> Using interface ppp0
--> local IP address ......
I'll move to ppp soon, since gnome-ppp seems to not understand "fsck, reconnect when disconnect, dude" option.

How nice is to be in the 21st century...

MJ Ray: Looking Back: 2008 Part 2

This is a continuation from part 1 but can be enjoyed on its own too, like a good red wine. It s a bit early for me for red wine, though.
May
June
July
  • Standing for Election to SPI Board Again - my most popular page ever, by number of page views anyway. It was spammed to hell so often that comments are now switched off. I suspect the US Election had more to do the popularity of this article than my unsuccessful candidature for the Software in the Public Interest board.
  • Batting Against Three Strikes through the Back Door - I m a member and ambassador for ThePhoneCoop and TTLLP are agents/resellers for them, so this misguided EU law-making was worth some of my time. Writing about it here got me a response from Neil Parish MEP that I don t think I would have got otherwise. It s a terrible shame he never sent a reply from Malcolm Harbour.
  • LugRadio Live Event Review - a review of one of the most populist UK free software events by one of their most vociferous critics (back before they went all Creative Commons warm and fuzzy) was always going to be popular, which is partly why I wrote it, but not the whole reason: I m delighted that the event should return in the future. It s not perfect, but it s pretty damn fantastic. A tech conference crossed with a rocking gig by the strangest boyband ever, with a cheerleading racoon and some very cool people.
  • Good News on the Koha 3.0.0-final Approach - another surprisingly popular marginal comment. I ve currently broken/desynched/something my local git tree. I m going to repair it by New Year and then start writing up more Koha explorations and sending patches upstream.
August
More to follow in a couple of days

26 December 2008

Chris Lamb: Unfortunately, we get parallel octaves at the end

A reel from Glenn Gould's 1955 recording of the Goldberg Variations contains the following dialogue between the 22-year-old pianist and the recording engineer after a take of the 30th variation, a quodlibet:
By the way, I have a quodlibet of my own which came to me in the bathtub the other night. One of these days I will be asked to perform on the fourth of July, I'm sure, and when I do I figured out that by leaving out the repeats in the Star Spangled Banner and starting your entry on the thirteenth bar of God Save The King and then playing God Save the King over again and altering the harmony in the second half of The King to modulate to the supertonic region, it has the most marvelous effect. Listen to this.. (202KiB Ogg Vorbis).

David Bremner: Prolegomenon to any future tg-buildpackage

So I have been getting used to madduck's workflow for topgit and debian packaging, and one thing that bugged me a bit was all the steps required to to build. I tend to build quite a lot when debugging, so I wrote up a quick and dirty script to I don't claim this is anywhere ready production quality, but maybe it helps someone. Assumptions (that I remember) Here is the actual script:
#!/bin/sh
set -x
if [ x$1 = x-k ]; then
    keep=1
else
    keep=0
fi
WORKROOT=/tmp
WORKDIR= mktemp -d $WORKROOT/tg-debuild-XXXX 
# yes, this could be nicer
SOURCEPKG= dpkg-parsechangelog   grep ^Source:   sed 's/^Source:\s*//' 
UPSTREAM= dpkg-parsechangelog   grep ^Version:   sed -e 's/^Version:\s*//' -e s/-[^-]*// 
ORIG=$WORKDIR/$ SOURCEPKG _$ UPSTREAM .orig.tar.gz
pristine-tar checkout $ORIG
WORKTREE=$WORKDIR/$SOURCEPKG-$UPSTREAM
CDUP= git rev-parse --show-cdup 
GDPATH=$PWD/$CDUP/.git
DEST=$PWD/$CDUP/../build-area
git archive --prefix=$WORKTREE/ --format=tar master   tar xfP -
GIT_DIR=$GDPATH make -C $WORKTREE -f debian/rules tg-export
cd $WORKTREE && GIT_DIR=$GDPATH debuild 
if [ $?==0 -a -d $DEST ]; then
    cp $WORKDIR/*.deb $WORKDIR/*.dsc $WORKDIR/*.diff.gz $WORKDIR/*.changes $DEST
fi
if [ $keep = 0 ]; then
    rm -fr $WORKDIR
fi

25 December 2008

Dirk Eddelbuettel: Rcpp now in Debian

Rcpp is an interface package that makes it easier to add C++ code to GNU R. It had started as a part of my RQuantLib project but has now come into its own as blogged here and here. As of today, Rcpp is now also available as a Debian package.

Matthew Garrett

Christmas is a time to ignore such trifling details as nearly accidently burning the house down, and instead to focus on what's important in life - working out which hoops to jump through to make new hardware useful without installing less convenient operating systems. This year was more straightforward than some, and merely involved attempting to work out how to give people money in return for books that could then be read on my Sony reader thingy. Shockingly enough, the Sony Ebook Store requires a windows app, so not a good start. There's no shortage of sites that sell ebooks in a variety of formats without any platform dependent awkwardness, though - of course, most of them are inconveniently DRMed. And the only DRMed content the Sonys will read is either Sony's own or some encrypted PDFs[1].

Not to worry - the DRMed version of the Mobipocket format is based on a symmetric encryption algorithm from 1991, so finding a way around that isn't much of a problem[2]. The only real issue I had was generating the PID needed to buy one of the damn things in the first place. This 10 character string is generated when you install the Mobipocket reader software, but doing so would again involve Windows.

So here's a trivial C program that generates valid PIDs with working checksums. The PID on its own isn't a secret (given that you can get as many as you want by reinstalling the Windows software), so I can't see any awkward copyright law things going on. And, really, it's just a random string plus a checksum.

CRC code is from SSH, the checksum validation is a reimplementation of code from EBook::Tools::Mobipocket by Zed Pobre. My total creative input was generating a 7 character random string and sticking a dollar sign at the end. Go me.

[1] According to the blurb about the firmware update, though mine still seems to claim that it's not authorised to read DRMed content in the about screen. Possibly it needs keys generating, or something

[2] No, I'm not going to tell you how. The internet exists so you can work these things out without asking me

Jeff Bailey: Date night

Angie's mom is in town, and she sent us off for a date night last night which was awesome. The funny part is that we forgot we city we were in. This is the city where you starve for lack of open *corner stores* on Christmas Day. We tried to go to Chu Chai and then kept walking down St. Denis. When we walked past the Subway that was closed, we started to get nervous about finding food. Luckily on Price Arthur there was an Indian place that was open and a dep a few blocks down for some wine. Totally lovely. On the walk home (along Prince Arthur and up St. Laurent hoping to find a bar or something where we might hang out for a bit) we found 2 other places open: A Greek restaurant and some sort of chicken roasting place.

I love that we're in a city where people aren't scared to say "Hey, go home. It's the holidays" Next time we'll even plan for it!

Merry Christmas or whatever winter holiday you celebrate, all.

Next.

Previous.