Search Results: "cas"

30 January 2009

Russell Coker: How to Support Straight Marriage

There is currently a lot of discussion about how to protect marriage , such discussion is based on the issue of whether Gay Marriage should be prohibited to protect Straight Marriage. Some straight people believe that their own marriage would be better if homosexuals were allowed to get married, some have even declared that they won t get married until discrimination in this regard is ended. I don t believe that whether some other people get married will make any difference to my marriage. I believe that any two consenting adults who are not closely related should be allowed to get married, but I am not going to write about that today. What I will address is some positive steps that can be taken by a government to protect Straight Marriage without regard to Gay Marriage. By the most objective criteria, death is the greatest obstacle to marriage. To protect someone s marriage you should first protect them from becoming a widow or widower for as long as possible. Also protecting the lives of children (both biological and adopted) is important for protecting marriage. Here are some of the many ways of preventing needless death:

  1. Don t start wars except in the most extreme situations. Wars inevitably involve the death of soldiers (some of whom are married) and any war that is anything other than the smallest border incident will involve the death of civilians (married people and children).

  2. Protect the food supply and the environment. When toxic chemicals, heavy metals, or radioactive material are released in the environment it results in a statistical increase in the death rate from cancer.

  3. Increase the funding for medical research. Today there are many medical situations which can be routinely and safely resolved which would have been likely to be fatal 10 or 20 years ago. More medical research will lead to more diseases being cured.

  4. Spread positive technology around the world. Protecting marriage should have a larger scope than your local region, therefore life-saving medicine needs to be affordable in all countries. Patents that prevent this need to be voided in the poorer regions of the world.

  5. Increase the research on car safety. Car crashes are one of the largest causes of death and significant injury in the first world which can be easily reduced. Unfortunately there has been little research on making cars safe for women and children (crash-test dummies for woman and children are to a large extent scaled-down models based on research on men due to the lack of female and child cadavers for research [1]). Also I believe that the majority of car safety research in regard to crash test dummies was done in the US and therefore is biased towards caucasians and afro-americans - I believe that research on other races is needed to give equal protection to all races (caucasian and afro-american races are in a minority in the world).

This is by no means a comprehensive list, but it does cover some issues that are current and well known. Now the next objective way to analyse this issue is to look at statistics related to divorce. It seems that money is an issue related to divorce and therefore protecting the finances of married people is a way of protecting marriage. The first thing that can be done is to give people more continuity of employment. Being in a situation where you could lose your job at short notice is stressful and has to have a negative impact on a married couple. Recently the supposedly conservative Liberal government in Australia was trying to ban Gay Marriage while also introducing legislation to make it easier to lay off employees who have done nothing wrong (based on business issues). Among other things the Work Choices legislation made it more difficult for such employees to take out bank loans (which means that they often pay higher interest rates). A final issue that causes stress for married couples is the school system (which is broken in many ways). I m not going to try and cover this in detail here, but I will note that installing flag-poles (as the Liberal government wanted to do) is not the solution to problems with the education system. Addressing these real issues will take some government funding, but it s not a lot and a much greater amount of money could be saved by ending the war on drugs . If the people who claim to be protecting straight marriage can address these other more serious problems that threaten straight marriages then I still won t agree with calls to ban gay marriage. But it would make then seem less hypocritical.

Wouter Verhelst: dlhack("followup");

I received quite some feedback on my dlhack() post. Most of it negative. For clarity: no, I do not consider such practices to be the best of ideas. I called it a 'hack' for a reason I fully expect this mechanism to be replaced by the time I eventually release the code. It was just fun to do it this way, that's all. Having said that, There's one comment from a xine developer that deserves a followup:
I'm sure I have seen a few different software that can simulate keypresses from the keyboard through the user event interface of the kernel with a joystick, and thus you should just need to wire it down with the original xine-ui. Or use gxine and the gxine_client program to control it.
While this will work, there are several problems with this approach: While all of the above is not a problem if I write a xine plugin, and indeed I might eventually convert the code to a one, the problem with that is that I don't know the xine plugin API yet; and writing a standalone application makes for easier prototyping. For the time being, at least. Oh, and in case you wonder why I don't just buy a LIRC-capable device and use a regular remote control: I have my gamepad. I do not have such a LIRC-capable device. My budget is not unlimited. 'Nuf said.

29 January 2009

Matthew Garrett

One of the points I made in my presentation at LCA this year was that for power management to be effective, it needs to be something that works without anyone having to think about it. One aspect of that is ensuring that it doesn't get in the way of the user, since otherwise the user will eventually get irritated and turn it off. Part of my work at Red Hat is coming up with ways to not only offer power management functionality, but to make it sufficiently useful and inobtrusive that manual configuration is almost never required.

Screensavers are an interesting case. We have a good idea of whether most hardware is "doing something" or not, based on whether it's generating traffic or an application has it open. This is less true of screens - the resource making use of the display is the user, and it's entirely possible for the user to be reading or watching something[1] onscreen without us getting any feedback from them. It's common to see people noticing that their screensaver is activating and hitting the mouse or keyboard to stop it. What's the correct solution?

One solution is to have the user increase the screensaver timeout. This is a poor solution - it's one of those "Think about what you're going to be doing with the computer before starting to do it" ideas that I dislike a lot. Computers are there to serve the user, not the other way around. The other downside to this is that the timeout will be left at a large number and monitors will be turned on for significantly longer than necessary.

Another is to pay attention to what the user's doing. If they keep hitting the keyboard just as the screensaver's activating, it's because they want a larger timeout. It's not difficult to give them that. I spent a while today playing with various complex implementations, but I finally came down to a simple one:Another option would be to double the timeout each time the user unblanks the screen, and that may be what I end up going with. A more complex solution might be to keep track of the user behaviour and tie it to time of day (if the system goes idle at 3:30, you might as well blank straight away - they've gone to grab a coffee or something), but I'm leaning towards thinking that that's overkill.

To test this out, I've actually gone to the extent of setting my default screensaver timeout to a minute. We'll see whether it gets irritating. I suspect that there's some more fine tuning to do, and I may want some kind of decay function rather than immediately pushing the timeout back to the original value.

Next job is to think about whether there's any reason to not just enter DPMS straight away if the user's selected a blank screen...

[1] I'm thinking along the lines of IRC conversations or logfiles rather than films - media players should be talking to the screensaver already

Bdale Garbee: Facial Dignity

People keep asking me about the beard thing... Here's my take on what happened and why. Just before I left for LCA 2009, my wife offered to send along one of the limited edition prints of her award-winning waterfall photograph. She knew from prior years that the LCA organizers often host an auction or raffle to raise money for some worthy charity at the conference banquet. Since the photo was taken at Milford Sound on the way to last year's LCA in Melbourne, there was a connection between the photo and LCA. We had no idea what this year's charity might be, nor did we anticipate that her photo would become the centerpiece of the evening's fund-raising activities. The charity selected this year was an organization that is trying to save the Tasmanian Devil from extinction. Professor Hamish McCallum, the chief scientist with the program, gave a talk after dinner and before the auction began. The native population is suffering from a fatal facial tumor disease that results in horrible lesions, and is likely to kill off all the Devils within a decade or three. My family and I all have a strong love of nature, and Karen and I had the pleasure of touring Tasmania after LCA 2003 in Perth, so this seemed like a great charity to raise money for with her photo. As often happens at LCA, the auction and related fund-raising activities got complicated. This year, the photo alone was bid up to $2500 (which was very cool!), before people started offering things for higher bids. For years, going maybe as far back as Perth, I've been cajoled about shaving my beard if the bidding hit some level, and have always said no. This year, someone offered $5000 if I would shave my beard, and again I said no. Much later, after more cajoling and many counter offers, when the bids and various matching offers had us approaching $20,000 in total donation to the charity, I relented and announced that if we hit a total of $25,000 going to the charity I would consent to a shave. The resulting frenzy, including the suggestion that if it went high enough Linus should do the shaving, and the formation of a bidding consortium that kept raising more money and bidding against itself, was completely unexpected! Others have tried to capture details of the insanity, but the bottom line is that by the end of the evening, the total had blown way past anything we could have imagined, and by the end of the conference the total going to the charity was on the order of $40,000! Why did I agree to let Linus shave my beard? To be honest, I'm not entirely certain. I only had one beer that evening, so I can't blame intoxication. The fact that it would yield a worthy charity something over 10 times what my wife's photo alone had drawn as a maximum bid seemed significant to me. In hindsight, I also think I was at least a little bit curious to see what my face looked like after having a beard since sometime around September of 1982! In any case, I made the offer, insane amounts of money were raised, and on the last day of the conference, over the lunch hour, Linus took trimmers in hand and removed my beard in front of an audience. The reactions have been completely overwhelming. A local TV station and a local newspaper in Hobart were both there and ran stories. The ripple of mentions in the blogosphere was and is just astounding. There's even a silly Shaving Bdale game created overnight by the "Mad Scientists" at Secret Lab! And from all over the globe, people I do and don't know have been sending emails and finding me on IRC to plead with me to grow my beard again! Right after the shave, my good friend Keith Packard said "Bdale, grow it back!". Before I left Hobart, my wife emailed saying she and the kids hoped I wasn't waiting until I got home to start. Joey Hess blogged a hairy tale about how I'd scarred the minds of young Debian developers. The leader of Debian-RS sent word by email that the group all hoped I would re-grow my beard. And on and on and on... I'm really not used to being the center of so much attention! Being suddenly without beard felt weird in lots of silly little ways. I was hyper-sensitive to drafts. The feel of cold beverages hitting my upper lip was downright strange. And I kept wanting to scratch what wasn't there! After making faces at myself in the mirror for a while, I decided I really wasn't happy, and do prefer being bearded. So I haven't shaved since Saturday morning in Hobart, and am pretty scruffy looking. My wife said today that I'm "already starting to look like Bdale again". At the current growth rate, I have high hopes of having at least some facial dignity back by the time I speak at FOSDEM. And no, I won't be shaving my beard off again any time soon...

28 January 2009

Russell Coker: It s too Hot in Melbourne

The Bureau of Meteorology has forecast temperatures of 43, 43, and 35 for today and the next two days. Those temperatures are in celcius. Yesterday was also above 40C so my entire house is hot. As my airconditioner is not overly large (a smaller unit is more efficient) the back part of my house will get really hot even without extra computers so I m turning off my SE Linux Play Machine. Also a couple of years ago a SE Linux Play Machine died during summer in a similar situation, and I prefer not to lose hardware. It will be on again in a few days.

Russell Coker: Links January 2009

Jennifer 8 Lee gave an interesting TED talk about the spread and evolution of what is called Chinese food [1]. In that talk she compares McDonalds to Microsoft and Chinese restaurants to Linux. Her points comparing the different local variations of Chinese food to the variations of Linux make sense. The CentOS Plus repository has a kernel with support for the XFS filesystem, Postfix with MySQL support, and some other useful things [2]. Mary Gardiner comments about the recent loss of a blog server with all content [3]. One interesting point is that when you start using a service that maintains your data you should consider how to make personal backups in case the server goes away or you decide to stop being a customer. Val Henson makes some interesting points about the reliability of Solid State Disks (SSD) [4]. Some people are planning to replace RAID arrays of disks with a single SSD with the idea that a SSD will be more reliable, this seems like a bad idea. Also with the risk of corruption it seems that we have a greater need for filesystems that store block checksums. Lior Kaplan describes how to have multiple Linux bonding devices [5], the comment provides some interesting detail too. programmableweb.com has a set of links to sites that have APIs which can be used to create mashups [6]. One of the many things I would do if I had a lot more spare time is to play with some of the web APIs that are out there. Gunnar Wolf has written some insightful comments about the situation in Israel and Palestine [7]. He used to be a Zionist and spent some time living in Israel so he knows more about the topic than most commentators. Charles Stross has written an informative post about Ubuntu on the EeePC [8]. What is noteworthy about this is not that he s summarised the issues well, but that he is a well known science-fiction writer and he was responding to a SFWA member. One of his short stories is on my free short stories page [9]. He also wrote Accelerando which is one of the best sci-fi novels I ve read (and it s also free) [10]. Don Marti has written about Rent Seeking and proprietary software [11]. It s an interesting article, nothing really new for anyone who has followed the news about the coal and nuclear industries. Erik writes about The Setting Sun and points out that Scott McNealy had tried to capitalise on the SCO lawsuit but Red Hat has ended up beating them in the market [12].

Obey Arthur Liu: Debian Summer of Code 08 : Where are they now (part 2/3)

Here s for the second installment of my review of this past year s Summer of Code at Debian. See the previous part here: Debian Summer of Code 08 : Where are they now (part 1/3). I apologize for being so late at getting this second part out but I have been very busy. Still, I ll get the last part out before FOSDEM. Those of you who ever had to write a Java compiler (ok, Java subset, but the OOP part was here ) in brainfucking Ada will understand what I went through working on two of my most loathed languages. Debian NAS, improve support of Debian on NAS devices Presentation There is a large range of inexpensive Network storage devices available on the market. For some of them, such as Linksys NSLU-2 and Thecus N2100, we have added support, but there is many many more devices we could support. For this summer we look forward at supporting multiple Marvell Orion based devices (as outlined in Martin Michlmayr s talk Running Debian on Inexpensive Network Storage Devices), such as Revogear Kuro Box Pro, Buffalo Linkstation, QNAP TS-109+, If you don t have old computers lying around to turn into NAS servers, you need to sleep at night without the soothing sound of computer fans or if you actually pay your own electricity bill, you might want to have a look at standalone NAS devices. They re cheap and can be made vastly more capable by slapping a Debian on it. If you ever heard of DD-WRT, you know the spirit. The project was mentored by Riku Voipio, with help from Martin Michlmayr. The project proposal (sorry, Google cache) was introduced by Martin, who did a presentation about it the previous year at FOSDEM. Student Per Andersson was a 24 year old student working towards a MSc in computer science at Chalmers University of Technology in Sweden. He had been looking for ways to join Debian but with school still being priority one, he didn t find time to dive in. Result This project was successful. The Kurobox Pro is now supported and several useful tools were packaged to make life easier with these NAS devices. Martin Michlmayer is still working on Debian NAS related stuff. Per was happy to be invited to the Emdebian work session in Extremadura and has been active within debian, maintaining the packages he created during the Summer of Code. Cran2deb, generate Debian packages from R packages Presentation GNU R has become the preeminent platform for computing with data . The CRAN archives contain over 1300 source packages of very high-quality, and BioConductor has again almost as many focuses on bioinformatics. We want more of these in Debian, and going beyond the 50+ packages we currently have suggests more scripting and automation. R is a pretty big among statisticians and all of them they wasted no time writing their own package to work on particular research subject. It s a lot like Perl with CPAN or LaTeX with CTAN. It s always a pain to discovery that a particular R package is not wihtin Debian and having to resort to unmanaged installation of said packages. The project was mentored by Dirk Eddelbuetel. The project proposal (which is nowhere to be found but seemed to be good) was introduced by Dirk, along with another proposal he did for R. Student Charles Blundell is a research student at.. hum.. didn t do my homework about that. Anyway, you can find him around R related projects. Result This project was successful. Cran2deb is happilly turning more than 1400 of the ~1500 CRAN R packages, all with correct dependencies. The work has since been moved to R-Forge. It s working, we re almost there. We just need it to be polished and we ll get a whole bunch of new packages into Debian. Charles pinged me about the status of Cran2Deb after the previous post. He admits that he hasn t done much about cran2deb recently because of his new position as a research student but hopes to commit again to it soon. I do encourage him to get these R packages into Debian. I had to manually install some packages myself when I had to use R for school because they weren t into Debian and it s not pretty. Mergemaster, interactively merge changes in configuration files Presentation FreeBSD has a shellscript called mergemaster which is used to interactively merge changes in configuration files, based on 3-way diffs. Debian s approach to configuration file differences is much more primitive: either keep the original file, or blow it away (including all local changes) and use the Debian-provided file. It would be nice to get a system such as mergemaster into Debian. Important is to remember that Debian contains two often-used configuration file management systems: ucf, and conffiles; porting mergemaster in such a way that it will be used in both cases would be great. The handling of configuration files during upgrades has always been a little.. brutal, with the user being asked at gunpoint to make a good decision, lest the upgrade won t continue or configuration files get borked (ever tried automerging nagios configuration files?). Having a less stressful upgrade experience is a good thing since the point of Debian is to make package management a stressless thing. The project was mentored by, hum, Manoj Srivastava. I have no idea who came up at first with the proposal. UPDATE: Wouter Verhelst mailed to say that he made the original proposal. Student Max Wiehle was a physics student at the University of Heidelberg. He did a Summer of Code stint (Archive.org copy..) as a student for Beagle Project in 2006 which, I suppose, was successful. He s been active in the past with Gnome and desktop related projects. Result This project was somewhat successful. He posted an update one month into the program with repositories with code to test. Last commit to the mergecf branch of project was September 19th but it was never merged in. According to Steve McIntyre, it s dead, Jim. I couldn t find any further public involvement of Max within Debian. PAS NSS Debian Installer, improve support of PAM and NSS at install-time Presentation It would be very important for the Debian allowing the user to configure additional PAM and NSS modules (eg. LDAP, NIS) during the installation process inside the Debian Installer. To do this, we have to provide tools and helpers to modify /etc/nsswitch.conf and /etc/pam.d/common-*, as well as changing the maintainer scripts for the packages libpam-* and libnss-* to apply the required changes at install time using debconf and these helpers. To be honest, I will probably never use this. I don t do that many coordinated installs in the same place to warrant doing funny authentication with PAM and NSS, and if I did, I would probably use a more elaborate tool to personalize the install, like FAI. On the other hand, I can see the appeal of being done with authentication mechanisms before the first boot. The project was mentored by Fabio Tranchitella. The proposal came from the student. Student Juan Luis Belmonte was a computer science student. He worked in a couple of companies in the area of Sarragossa. He is now founding debug_mode=ON. Result This was quite a disappointement after seemingly good work. Although Juan was satisfied with the project, the PAM package maintainer (Steve Vorlon Langasek) was not. He was never asked about this project (but didn t intervene timely either when the accepted projects were announced though). In his words, it was the wrong solution to the problem . You can find his lenghty rationale on the wontfix bug report that resulted from the project. It really was a problem of communication with the Debian developpers since Juan could certainly have done the right work if pointed to it. Juan didn t ask thoroughly for existing work and Steve didn t publicize his (enough). That s all for now. The information is quite fragmented I admit. Most of it was pulled from Google, mailing lists, commit logs, blogs, whatever. If some projects are lacking in information here, it s because I couldn t find it readily (which is an issue in itself!). In my next post, I ll try to give a student point of view of the Summer of Code in general, and more specifically, at Debian. It will be post 2.5/3 since it s getting a little longer than I planned. Release early, release often, as the say.
If you re a student or a mentor mentioned above, feel free to fill any of the blanks in my report. It s much appreciated. You re not a student or mentor mentioned above and have an opinion on how to improve the next Debian Summer of Code ? Feel free to comment.

MJ Ray: World Economic Forum 2009 in Davos

The World Economic Forum opens today (28 Jan) and runs until the weekend. This year most of the high-power planning sessions and feel-good corporate social responsibility whitewash has been replaced by sessions such as What Happened to the Global Economy? (Er, it broke because you bet more money than existed in the world?) There s a report from France24 and a programme of sessions. Like WEF in previous years, selected sessions are broadcast on SFinfo in German and Original Languages (often English) on Hotbird at 13east. Additionally, this year, there are webcasts (maybe the podcast version will play on free software) but it seems that none of the computing sessions are up for broadcast. Economics rules the airwaves for 2009. My main reason for posting here is to boggle at the WEF myspace competition. Isn t Myspace about the least appropriate of the big social networks for an economics forum? I suspect some payment or benefits from the network that Rupert Murdoch s company bought. There s also @davos which seems to be talking much more than listening seems appropriate for WEF, no?

27 January 2009

Mike Hommey: SSH using a SOCKS or HTTP proxy

If you follow planet debian, you may already know about the ProxyCommand directive in $HOME/.ssh/config. It allows OpenSSH to connect to a remote host through a given command. One setup that I use a lot is to have connections be established through a SOCKS proxy. Until today, I was using connect, a small tool written by Shun-ichi Got . The typical setup I used is:
Host *.mydomain.com
ProxyCommand connect -S socksserver:1080 %h %p
I also use jump hosts occasionally, with a setup like this:
Host somehost.mydomain.com
ProxyCommand ssh otherhost.mydomain.com nc -w1 %h %p
And today I discovered that netcat-openbsd does support connexions through a proxy, either SOCKS or HTTP. Why keep using two different tools when you can use one? ;) So I changed my setup to:
Host *.mydomain.com
ProxyCommand nc -xsocksserver:1080 -w1 %h %p
The default is to use SOCKS 5, add -X4 for SOCKS 4 and -Xconnect for HTTP CONNECT proxies. Note that it doesn t support choosing which end does the name resolutions like connect does with the -R option.

Joey Hess: ephemera vs the law

The changes to whitehouse.gov are being used as an example of ephemeral digital content.
At the exact moment Barack Obama was inaugurated, all traces of President Bush vanished from the White House website, replaced by images of and speeches by his successor. Attached to the website had been a booklet entitled 100 Things Americans May Not Know About the Bush Administration - they may never know them now. When the website changed, the link was broken and the booklet became unavailable.
At the same time, the Obama administration is chafing under rules that don't allow them to use Facebook, gmail, Blackberries, and Twitter. Because of this pesky Presidential Records Act.
Suddenly, they have to relearn how to communicate, because the law has not caught up with the way people live. They are being forced to return to older technologies (or they will once those technologies start working properly), and abandon or become more guarded in their use of newer technologies.
Anyone else find the dissonance am(az us)ing? Seems that anyone who really wants a copy of that missing booklet will be able to access it via FOIA in a few years (unless it got wiped with all of Cheney's files). Meanwhile, if the new guys find a way to stop being hobbled by the law, their digital content will likely be truely ephemeral, since they have become addicted to "newer technologies" that eliminate all expectations about data's preservation and privacy. I think this is one case of the law not keeping up with technology that I can support. It might be more fair to describe it though, as technology not keeping up with the law.

26 January 2009

Amaya Rodrigo: Sadly, I will not join you for FOSDEM

I will not be able to make it this year, I have more pressing issues to deal with, and CCC was already too stressful to handle for me.
In any case, do enjoy and don't forget to wave at the camera in the Debian Room!
I'll be watching you people!

MJ Ray: Hardware Questions: Asus M5200N, Ubuntu, GPRS and an iPod Touch?

Moving on from the horrible tax situation, I m struggling to get three pieces of hardware working. I m terrible with hardware. Can anyone help me get these working better, please?
  1. I ve been lent an Asus M5200N after I busted my shoulder with a 7kg laptop at #davebcs. I ve managed to enable processor scaling as ondemand, but like the page says, the fan is noisy. Other sites report that the Centrino s thermal limit is 100C, so is it OK to set the fan not to kick in until 78C on the sensor? The default is 40C which means it s permanently on - the coolest the fan makes it is about 74C.
  2. The Asus has Ubuntu on it (intrepid I think). Is there an easier way to get my three GPRS connection working than copying the config files from the old laptop and using the terminal? Network Manager doesn t seem to work and I can t see what it s trying to do or why it s failing (where s its debug log?). Alternatively, is there a distribution better suited to occasional laptop use than Ubuntu?
  3. I ve been lent an iPod Touch. However, when plugging it into the USB on the Asus, the screen says simply iTunes and the quick start guide says to connect it to iTunes. Can gtkpod do this, is there another way to start it up from Ubuntu, Debian or GoboLinux, or shall I beg access to a computer running iTunes?
Thanks for any answers. I may send out small gifts in return because questions 2 and 3 seem very awkward to me.

25 January 2009

Ana Beatriz Guerrero Lopez: End of backports and about KDE in Lenny

About a week ago I updated the KDE 4.1 backports for Lenny with the fourth and last revision of KDE 4.1.
As previously announced, this will be the last update available at http://kde4.debian.net What is next? The repository will continue there, so Lenny users can choose between KDE 3.5.9+ and KDE 4.1.4. But since 4.1.4 packages are not official, they do not have support: no bugs in the BTS or security updates.
If you are using Debian Lenny for stability and security purposes, you should use KDE 3.5. Testing users (future squeeze, current Lenny) can continue using them until KDE 4.2 reaches testing. Again, remember, no bugs in the BTS or security updates, but they will get a clean upgrade to KDE 4.2 in the near future. Unstable users. I have found that there are people using unstable with the backports, when they should be using experimental KDE 4.1. If this is your case, you can stick with 4.1.4 until KDE 4.2 reaches unstable or switch to experimental in a few days and get KDE 4.2 (no yet! it needs to be released first :) ). Last, but not less important, thanks to all the people helping with the backports: MoDaX for helping as backup and the rest of the Qt/KDE team who worked in the experimental packages. HE, zobel and aba for his sysadmin tasks. apol for allowing me torture his PowerPC machine. All those who translated the instructions into their languages and
helped to others users in mailing lists and forums. A quick note about KDE 3.5 to be released in Lenny As most of you have realized, the packages of KDE 3.5 in Lenny and unstable are a mixture of KDE 3.5.9 and 3.5.10. Given that KDE 3.5.10 was released after Lenny was frozen, we could not push this new version into Lenny, however the KDE 3.5 packages were patched about June last year with the latest changes in KDE 3.5 from the KDE subversion. This means some of the modules with the version 3.5.9 are exactly the same that is shipped as 3.5.10.
The only big stuff missing are the kicker improvements shipped in kdebase and some bug fixes in kdepim. But in global, it is closer to KDE 3.5.10 that to KDE 3.5.9. If you want to see what changes are you missing, check the KDE 3.5.10 changelog.

Romain Francoise: Some Emacs news

This week's emacs-snapshot release (20090118-1) reached a new milestone with more than 700 downloads in just under a week. I guess this is quite an achievement considering that not everyone wants to download 25MB of Emacs packages on a weekly basis, so thanks to all my users for their continued trust and support!

Here's a quick update on the status of the Emacs 23 release: the last remaining feature on the roadmap was finally completed this week with the merge of the rmail-mbox (pmail) branch into rmail. The pretest (GNU lingo for beta ) phase could start as early as next week, which is not to say that the release itself is right around the corner since a few major tasks need to be finished first, like updating the manuals. The release could also be delayed by the proposed (and long overdue) switch from CVS to Bazaar, pushed by newly-minted Launchpad evangelist Karl Fogel.

That being said, aiming for a release in 2009 isn't entirely unrealistic, and I really can't wait to see Emacs 23 reach a wider audience. It is the culmination of many years of work in lots of areas (Unicode support, font backend, multi-tty, Cocoa, ...) and is by far the best Emacs version to date!

Sami Haahtinen: Purging postfix queue

Since I keep ending up in situations where I need to clean up postfix queue from mails sent by a single host and always forget the command, I'm posting it here. Maybe someone else will find it useful as well. To begin with, you need to determine the IP address of the culprit you want to eliminate. How you do this, is up to you. Grepping logs or examining the files in the queue both work. But for some reason there doesn't appear to be a good tool to get statistics on the sending IP addresses, only the origin and destination domains. Once you have determined the IP address which you want to purge, you can use the following spell. You might have to repeat the same line for active and incoming queues as well, but usually deferred is the queue I have the most mails. grep -lrE '[^0-9]10.20.30.4[^0-9]' /var/spool/postfix/deferred xargs -r -n1 basename postsuper -d - It's important that the IP address has escaped dots, because dots can account for any character. In the worst case it will end up matching a lot of wrong IP addresses. Another important bits are the '[^0-9]' groups in both ends of the pattern. Those make the IP address only match that particular IP address. Without that extra limitation 1.1.1.1 would match anything that has 1 as the last number in the first octet and 1 as the first number of the last octet. For example: 211.1.1.154 would be a valid match. The other important bit, yet oddly unknown, is the postsuper command. Postsuper modifies the queue and -d flag makes it delete files in the queue by QueueID. For some reason I keep on seeing all sorts of find -exec rm spells all over, which isn't really that nice for the daemon itself. So here it is, one more tidbit I've been meaning to write up for quite some time now. Enjoy!

24 January 2009

Uwe Hermann: Recovering from a dead disk in a Linux software-RAID5 system using mdadm

RAID5 failure As I wrote quite a while ago, I set up a RAID5 with three
IDE disks at home, which I'm using as backup (yes, I know that
RAID != backup) and storage space. A few days ago, the RAID was put to a real-life test for the first time, as one of the disks died. Here's what that looks like in dmesg:
raid5: raid level 5 set md1 active with 3 out of 3 devices, algorithm 2
RAID5 conf printout:
 --- rd:3 wd:3
 disk 0, o:1, dev:hda2
 disk 1, o:1, dev:hdg2
 disk 2, o:1, dev:hde2
[...]
hdg: dma_timer_expiry: dma status == 0x21
hdg: DMA timeout error
hdg: 4 bytes in FIFO
hdg: dma timeout error: status=0x50   DriveReady SeekComplete  
ide: failed opcode was: unknown
hdg: dma_timer_expiry: dma status == 0x21
hdg: DMA timeout error
hdg: 252 bytes in FIFO
hdg: dma timeout error: status=0x50   DriveReady SeekComplete  
ide: failed opcode was: unknown
hdg: dma_timer_expiry: dma status == 0x21
hdg: DMA timeout error
hdg: 252 bytes in FIFO
hdg: dma timeout error: status=0x58   DriveReady SeekComplete DataRequest  
ide: failed opcode was: unknown
hdg: DMA disabled
ide3: reset: success
hdg: dma_timer_expiry: dma status == 0x21
hdg: DMA timeout error
hdg: 252 bytes in FIFO
hdg: dma timeout error: status=0x58   DriveReady SeekComplete DataRequest  
ide: failed opcode was: unknown
hdg: DMA disabled
ide3: reset: success
hdg: status timeout: status=0x80   Busy  
ide: failed opcode was: 0xea
hdg: drive not ready for command
hdg: lost interrupt
hdg: task_out_intr: status=0x50   DriveReady SeekComplete  
ide: failed opcode was: unknown
hdg: lost interrupt
hdg: task_out_intr: status=0x50   DriveReady SeekComplete  
ide: failed opcode was: unknown
That's when I realized that something was horribly wrong. Not long after that, these messages appeared in dmesg. As you can see the software-RAID automatically realized that a drive died and removed the faulty disk from the array. I did not lose any data, and the system did not freeze up; I could continue working as if nothing happened (as it should be).
 md: super_written gets error=-5, uptodate=0
 raid5: Disk failure on hdg2, disabling device.
 raid5: Operation continuing on 2 devices.
 RAID5 conf printout:
  --- rd:3 wd:2
  disk 0, o:1, dev:hda2
  disk 1, o:0, dev:hdg2
  disk 2, o:1, dev:hde2
 RAID5 conf printout:
  --- rd:3 wd:2
  disk 0, o:1, dev:hda2
  disk 2, o:1, dev:hde2
This is how you can check the current RAID status:
 $ cat /proc/mdstat
 Personalities : [raid6] [raid5] [raid4] 
 md1 : active raid5 hda2[0] hde2[2] hdg2[3](F)
       584107136 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U]
The "U_U" means two of the disks are OK, and one is faulty/removed. The desired state is "UUU", which means all three disks are OK. The next steps are to replace the dead drive with a new one, but first you should know exactly which disk you need to remove (in my case: hda, hde, or hdg). If you remove the wrong one, you're screwed. The RAID will be dead and all your data will be lost (RAID5 can survive only one dead disk at a time). The safest way (IMHO) to know which disk to remove is to write down the serial number of the disk, e.g. using smartctl, and then check the back side of each disk for the matching serial number.
 $ smartctl -i /dev/hda   grep Serial
 $ smartctl -i /dev/hde   grep Serial
 $ smartctl -i /dev/hdg   grep Serial
(ideally you should get the serial numbers before one of the disks dies) Now power down the PC and remove the correct drive. Get a new drive which is at least as big as the one you removed. As this is software-RAID you have quite a lot of flexibility; the new drive doesn't have to be from the same vendor / series, it doesn't even have to be of the same type (e.g. I got a SATA disk instead of another IDE one). Insert the drive into some other PC in order to partition it correctly (e.g. using fdisk or cfdisk). In my case I needed a 1 GB /boot partition for GRUB, and the rest of the drive is another partition of the type "Linux RAID auto", which the software-RAID will then recognize. Then, put the drive into the RAID PC and power it up. After a successful boot (remember, 2 out of 3 disks in RAID5 are sufficient for a working system) you'll have to hook-up the new drive into the RAID:
 $ mdadm --manage /dev/md1 --add /dev/sda2
 mdadm: added /dev/sda2
My new SATA drive ended up being /dev/sda2, which I added using mdadm. The RAID immediately starts restoring/resyncing all data on that drive, which may take a while (2-3 hours, depends on the RAID size and some other factors). You can check the current progress with:
 $ cat /proc/mdstat 
 Personalities : [raid6] [raid5] [raid4] 
 md1 : active raid5 sda2[3] hda2[0] hde2[2]
       584107136 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U]
       [>....................]  recovery =  0.1% (473692/292053568) finish=92.3min speed=52632K/sec
As soon as this process is finished you'll see this in dmesg:
 md: md1: recovery done.
 RAID5 conf printout:
  --- rd:3 wd:3
  disk 0, o:1, dev:hda2
  disk 1, o:1, dev:sda2
  disk 2, o:1, dev:hde2
In /proc/mdstat you'll see "UUU" again, which means your RAID is fully functional and redundant (with three disks) again. Yay.
 $ cat /proc/mdstat
 Personalities : [raid6] [raid5] [raid4] 
 md1 : active raid5 sda2[1] hda2[0] hde2[2]
       584107136 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
Btw, another nice utility you might find useful is hddtemp, which can check the temperature of the drives. You should take care that they don't get too hot, especially so if the RAID runs 24/7.
 $ hddtemp /dev/hda
 dev/hda: SAMSUNG HD300LD: 38  C
 $ hddtemp /dev/hde
 dev/hde: SAMSUNG HD300LD: 44  C
 $ hddtemp /dev/sda
 dev/sda: SAMSUNG HD322HJ: 32  C

23 January 2009

Josselin Mouette: On the good use of compiler warning flags

The gnome-power-manager developers like clean code. Actually, more than clean code: code that will not generate a single nitpicking warning. The package builds with the following C compiler flags:
-Werror -Wcast-align -Wno-uninitialized -Wall -Wformat-security
Sometimes the compiler is more clever than the coder On the SPARC architecture, -Wcast-align really starts to mean something. Unlike most other architectures, any alignment error on here will leave you gather your teeth spread on the floor after you ve been hit by a SIGBUS. It tries to catch at build time alignment errors resulting from a cast between pointers to different types. Together with -Werror, it triggered a first FTBFS bug. The error occured on the following code:
        if (XRRGetOutputProperty (brightness->priv->dpy, output, brightness->priv->backlight,
                                  0, 4, False, False, None,
                                  &actual_type, &actual_format,
                                  &nitems, &bytes_after,  ) != Success)  
                egg_debug ("failed to get property");
                return FALSE;
         
        if (actual_type == XA_INTEGER && nitems == 1 && actual_format == 32)  
                *cur = *((int *) prop);
                ret = TRUE;
         
        XFree (prop);
        return ret;
More precisely, the error occurs when casting prop (which is an array of pointers) into an int *. The compiler is clearly right. The alignment requirements are different for a pointer and an integer; therefore, casting a pointer to a pointer into a pointer to an integer will always work, but dereferencing the pointer later will possibly cause a crash. Turning this expression into a memcpy leads to code that should always work. Lesson learned: do not design APIs where an array of pointers can actually store integers. Have you ever heard of opaque structures? and sometimes it is not This was not enough and a second FTBFS bug showed up. Here, the error happens in the following code:
static inline GstBuffer *
gst_buffer_ref (GstBuffer * buf)
 
  /* not using a macro here because gcc-4.1 will complain
   * if the return value isn't used (because of the cast) */
  return (GstBuffer *) gst_mini_object_ref (GST_MINI_OBJECT_CAST (buf));
 
GstBuffer is a structure which contains a GstMiniObject at the beginning. Therefore, you conduct operations on the GstMiniObject through a mere cast. The first cast (GstBuffer GstMiniObject) is fine, but in the second cast (GstMiniObject GstBuffer), the compiler suspects a problem, since the alignment requirements on GstBuffer are stronger than those on GstMiniObject. The compiler is wrong because it didn t read the API documentation; otherwise, it would have known that gst_mini_object_ref can only return NULL or its argument, which means there can t be any loss of alignment. Since there are no function attributes to express such complex things, we are still forced to rely on the developer having correctly read the documentation. Way to go, compiler. Lesson learned: there are good reasons why some warnings are not part of -Wall. Especially, it is dubious to use them with -Werror. Does anyone know whether it is possible to apply -Werror only to some of the warnings and not to all of them? It would sound like a useful improvement.

Daniel Kahn Gillmor: target disk mode (sbp-2 mass storage host mode?)

One very convenient feature of Apple's hardware is the ability for their workstations to enter target disk mode. This effectively transforms the machine into a glorified ieee1394 (firewire) block device, which can then be manipulated from outside the machine using the standard SBP-2 protocol. Is there a way to provide this same functionality from a running GNU/Linux machine? For example, i have a GNU/Linux system with a block device attached to it. I would prefer if the block device was available to a neighboring machine, but (for whatever reason) i'm unable to physically move it. However, i'm able to link the two machines via a simple ieee1394 connection. A "virtual target disk mode" server (or would it be better to say "an SBP-2 mass storage target service over an ieee1394 link"?) would be really useful. One thing that occurs to me is that i could do some sort of networking abstraction over the link (using eth1394?), and then use something like vblade (an ATA-over-Ethernet target service) to provide a virtual block device to the remote host. However, this requires the remote host to run an operating system capable of dealing with these (more obscure) protocols, and i'd like this to work for any remote machine that knows how to deal with generic SBP-2 ieee1394 mass storage. I know that in general GNU/Linux is at least as powerful and capable as the firmware that Apple ships ;) But it's possible that our community just hasn't gotten around to implementing something like this. Is this the case? My attempts to search for it haven't turned up anything, but it's entirely possible that i'm reading the wrong docs (or reading the docs wrong). Any pointers?Tags: firewire, ieee1394, sbp2, vblade

Daniel Burrows: A report from the technological present.

Today I had the occasion to do something I normally don't do: send a text message. I can report that it's a lot like writing an email. If all the bones in one of your hands are broken, that is.

Robert McQueen: Auctions, Beards, Conferences and Devils

Tuz, coming soon to a Linux kernel near you
It s the last day of the most awesome linux.conf.au 2009 conference in Hobart, Tasmania. I ve just witnessed the a room full of 500 people sit with baited breath as Linus wielded a set of clippers to shave Bdale Garbee s beard, followed by Bdale (with a razor with 3 more blades than last time he shaved, a tiny bowl of water and a hand-mirror) trying to make it look neater. The LCA twitter feed was up on the projector, and someone rightly observed this whole event was actually pretty weird. There are already pictures on flickr too. However, well done to Bdale for being such a good sport, but it looks like his wife Karen will accompany him next year to make sure he doesn t agree to anything else like this, and supervise the waxing of Rusty s chest :) What s this all in aid of? After the incredible auction for this beautiful picture from Karen, and generous donations at the Penguin Dinner on Wednesday night, the conference has now raised between AU$ 35k and 40k towards the Save the Tasmanian Devil appeal. Around AU$ 1.3k of the nonsensical winning consortium s AU $10.6k bid came from the Collabora folks who were at the dinner, and AU$ 1.2k from Collabora and Collabora Multimedia directly. We were all set to place a winning AU$ 3k bid but then Matthew and Daniel came up with the Bdale shaving scheme, and then things really picked up. I m glad we took part - the lead scientist from the project was really grateful, and I hope the money can make a real difference to their great work.
Telepathy
On more mundane matters, I also gave my talk this morning, and my slides (Telepathy slides v2.0 thanks to Marco) are online. I also made a few demos of new awesome stuff you can do with Telepathy (most of the patches are already merged upstream or well on the way): On that note, these were just the five that I picked to try and fit into my talk. There are a load more demos in the pipeline from the other guys in Collabora of doing stuff with Telepathy, so keep a close look on Planet Collabora for the next cool thing.

Next.

Previous.