Search Results: "reg"

20 November 2009

Gunnar Wolf: EDUSOL almost over - Some highlights

Whew! Is it karma or what? What makes me get involved in two horribly complex, two-week-long conferences, year after year? Of course, both (DebConf and EDUSOL) are great fun to be part of, and both have greatly influenced both my skills and interests. Anyway, this is the fifth year we hold EDUSOL. Tomorrow we will bring the two weeks of activities to an end, hold the last two videoconferences, and finally declare it a done deal. I must anticipate the facts and call it a success, as it clearly will be recognized as such. One of the most visible although we insist, not the core activities of the Encounter are the videoconferences. They are certainly among the most complex. And the videoconferences' value is greatly enhanced because, even if they are naturally a synchronous activity (it takes place at a given point in time), they live on after they are held: I do my best effort to publish them as soon as possible (less than one day off), and they are posted to their node, from where comments can continue. This was the reason, i.e., why we decided to move at the last minute tomorrow's conference: Due to a misunderstanding, Beatriz Busaniche (a good friend of ours and a very reknown Argentinian Free Software promotor, from Via Libre) thought her talk would be held today, and we had programmed her for tomorrow. No worries - We held it today, and it is already online for whoever wants to take part :-) So, I don't want to hold this any longer (I will link to the two conferences that I'm still missing from this same entry). Here is the list of (and links to) videoconferences we have held.
Tuesday 2009-11-17
Wednesday 2009-11-18
Thursday 2009-11-19
Friday 2009-11-20
As two last notes: Regarding the IRC interaction photos I recently talked about, we did a very kewl thing: Take over 2000 consecutive photos and put them together on a stack. Flip them one at a time. What do you get? But of course A very fun to view and interesting interaction video! We have to hand-update it and it is a bit old right now, but nevertheless, it is very interesting as it is. Finally... I must publicly say I can be quite an asshole. And yes, I know I talked this over privately with the affected people and they hold no grudge against me... But still - yesterday we had an IRC talk about NING Latin American Moodlers, by Luc a Osuna (Venezuela) and Maryel Mendiola (Mexico). One of the points they raised was they were working towards (and promoting) a Moodle certification. And... Yes, I recognize I cannot hear the mention of the certification word without jumping and saying certifications are overrated. Well, but being tired, and not being really thoughtful... I should have known where to stop, where it was enough of a point made. I ended up making Maryel and Luc a feel attacked during their own presentation, and that should have never happened. A public and heartfelt apology to them :-(

19 November 2009

Erich Schubert: If you are in Bavaria, sign up for the smoking ban vote!

Starting 01/01/2008, Bavaria had introduced a quite hard smoking ban, which also included bars and restaurants. It however contained a backdoor by excluding non-public locations, which led to the creation of 'smoker clubs' where you had to become a member to be admitted. At some point, most clubs were of this kind.In August 2009, however, the law was changed to exclude beer tents (Oktoberfest ...) and small bars. Many people belive that this was to get votes on the elections in september 2009 (which ended up in a minus of 6-7% compared to the previous election and a historical low for the biggest party).This caused several organizations to call for a public vote on restoring the smoking ban to the 2008 state (without the 'smokers club' backdoor). In order to force a public vote on a law (without the governments support!), we need 10% of the voters to register as supporters for the vote. You have to register at your registered home town. For Bavaria, this means about 940.000 supporters.If you are registered voter in Bavaria, please drop by your municipality and sign up. You need an ID and 5 Minutes, that's all. 940.000 supporters is an incredible lot of people to get to the offices, take along your friends!When we get enough supporters, the Bavarian government has two options: accepting the changes as proposed (and thus making the initative obsolete), or conducting a public vote on it, offering an alternative (e.g. the current law, no change) and have the voters decide (which is quite expensive, so if many many people sign up, they might save that money and just pass the proposed change themselves).For more information (german only), check the Nichtraucherschutz Bayern Website, including the sign up office locations.P.S. In other European countries, the introduction of a strong smoking ban has led to a 10-15% decrease in heart attacks (20% for non-smokers). The german constitutional court has also already ruled that the protection of non-smokers and employees from passive smoke weights stronger than the individual's freedom to smoke in enclosed spaces.

Andrew Pollock: [life] Here we go again (~27 weeks to go)

It's looking all good, so we're game to tell the world: Sarah is 13 weeks pregnant! She had the nuchal translucency ultrasound today (which, due to the tight timing required for it, I was totally bummed to be unable to attend). The scan came back all clear, which is an enormous relief. In the nausea department, poor Sarah has had a much worse time than with the first pregnancy. Particularly on the flights to and from Australia. This makes me think it's going to be a girl (just because the nausea characteristics are totally different from the first time around). It's amazing how fast they grow in just a few weeks. Here's the ultrasound from 10 weeks: 10 week ultrasound And here's the ultrasound from 13 weeks: 13 week ultrasound

18 November 2009

Josselin Mouette: Getting rid of HAL, second attempt

Some time ago, I made an attempt at a gvfs package with disabled HAL support. The latest upstream version allows to use DeviceKit-Disks instead, through the gnome-disk-utility library. This change was supposed to bring a lot of improvement, among which: Unfortunately, it turned out as a real fiasco, since there is no support for IDE CDs using ide_mod in DeviceKit-Disks. Upstream only uses libata, and Fedora has no requirements for compatibility with kernels shipped more than 2 months ago. The change had to be backed out. What you don t know yet is that Michael Biebl is awesome. Not only did he find some ways to comply with Bastian s requirements, but he implemented IDE CD support in DeviceKit. Which was not really easy. So, I d appreciate if some adventurous people could test the experimental gvfs packages in which there is still DeviceKit support. Please look for any regressions in them, especially with regard to removable media handling.

Martin F. Krafft: RAM reclaimed, mystery solved

Yesterday s RAM mystery was solved after dozens of people have written in with helpful comments. Thank you all. I need to find time to create a proper, commentable blog soon so that you all can get the credit you deserve! I now have the full 4GB of RAM available:
$ free   head -2
            total       used       free     shared    buffers     cached
Mem:       4063324    1657440    2405884          0     149080     643732

Yay! The suggestions ranged from timing issues to defective modules, from 64bit OS via south/north bridge limitations to sacrificing chickens to god spongebobs. In the end, several people put their finger on a concept called memory hole remapping , and that turned out to be the ticket. Here is what I learnt: This motherboard and the CPU memory controller supports (which means can address ) 4096MB of RAM. Since extensions cards, such as the graphics card and the network controller, also need addressable slabs of memory for their RAM or registers, ranges in the upper memory regions are mapped to the RAM of those cards. The file /proc/mtrr gives a clue over what s happening:
reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size=  256MB, count=2: write-combining
reg03: base=0x0d8000000 ( 3456MB), size=  128MB, count=1: write-combining
reg04: base=0x0e8000000 ( 3712MB), size=   64MB, count=1: write-combining
reg05: base=0x0ec000000 ( 3776MB), size=   64MB, count=1: write-combining

Registers 0 and 1 represent the addressable RAM available to the operating system. At position 3072, we find two slabs of 256MB each, most likely corresponding to the two graphics cards in the system. I think that the 128MB in register 3 is the AGP aperture. Registers 4 and 5 correspond to 64MB slabs each, most likely relating to the two network cards I have installed. The result is that addresses in memory beyond 3072MB are routed to the extension cards, which overshadow the original system RAM and leave it unusable. When I turned on the memory hole remapping feature in the BIOS, I empowered the BIOS to remap the memory space. The way it does this is BIOS-dependent, but most likely, it will remap the overshadowed memory region to the end of the total memory space. This is a software-only remapping, but the effect is that the system appears to have more memory. /proc/mtrr now reads:
reg00: base=0x000000000 (    0MB), size= 4096MB, count=1: write-back
reg01: base=0x100000000 ( 4096MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size= 1024MB, count=1: uncachable
reg03: base=0x0c0000000 ( 3072MB), size=  256MB, count=1: write-combining

I am not entirely sure how to interpret this yet, but you can see that there are now an additional 1024MB at position 4096 (register 1), so the system seems to have 5GB of RAM available. Register 2 describes memory between 3072 and 4096 as not cacheable, because it maps to extension cards. I do not know how register 3 fits into the picture. By remapping, we cross the 4096MB mark. To make use of the additional memory, we will need PAE enabled to give you 36 bits, or a 64bit operating system: 2^32 is 4096M, so with only 32 bits available, 4GB is all the memory that can ever be addressed (dirty hacks excluded). Fortunately, this system has been running the Debian amd64 port even before it was officially released, and thus, once the BIOS remapped the memory, I could fully make use of it. Mystery solved, some knowledge acquired, many of you left to thank!

16 November 2009

Gunnar Wolf: Personal assessment about myself: Being slow everywhere

Sigh I am starting to fill up my annual report for my real-life work. You know, that chore you must do every year where you score little bullets next to each completed project and talk well about yourself. For my workplace, fortunately, I do not have to lie and convince people I am worth rehiring - As this year I achieved definitividad as a T cnico Acad mico Asociado C de Tiempo Completo at my University, I can say for sure I have long-term job safety. UNAM is the best place for me to work, and I am most grateful Even if I do want to advance for the future, even though I would strongly like at some point to start working in a real academic position My job is mostly operative, limited to keeping things running smoothly in our network and servers. I work in a social sciences (Economics) research institute, and even though I have taken on an interesting project that is viewed from the social sciences I do expect to finish with a very interesting product in the near future, my interest lies in computing as a science. Anyway, back on track This is the time of year to start evaluating many things, many factors, from many different sides. And yes, for me that involves measuring how am I faring in my involvement in the projects I most care about Specifically, Debian, but also several other Free Software projects, even if my involvement in them is mostly organizational. I am once again going through a tough period in my personal life, and the impact it carries is obviously deep. However, I am not fond of finding excuses for my underachievement or underperformance. And that's what I feel now. Even more when I see posts such as Zack's and Tim's status updates, and when I see that we continue to be on a history-high streak of RC bugs. Regarding the several teams I am (at least formally) involved with in Debian, I have been away from the pkg-perl group for far too long... It is still my first group when it comes to identifying myself with - Both as on a personal level, as I consider them as good friends and great people to work with, and I do feel the responsability to share the load with them, as maintaining >1300 packages (even if they are so highly regular) is just not an easy task. But for over a year, my involvement has been basically zero. I have been a bit more active on pkg-ruby-extras, maybe paradoxically as it is a smaller team and with less packages (as I know it is much less probable for somebody to keep my packages in adequate shape if I don't do it)... and also because I am working more with Ruby than Perl nowadays. And finally, about Cherokee, I decided during DebConf9 to redo the packaging to fully use DH7 instead of our old-style quasimanual style. I have had several bursts of activity, and am almost-almost-ready to do the first newstyle upload... But so far, have been unable to do so. Of course, keyring-maint: With Jonathan's help, I have come to terms with most of the processes. Both Jonathan and I have been swamped lately, but at least I think I am finally helping speed up the process instead of holding it down. We do, yes, have several pending updates - but are working our way up the queue, and I hope not to leave people waiting for too long. And yes, we have discussed several ways of documenting and automating several of the tasks we currently sustain, and that should come soon I have been also leaving maybe a bit too much responsability aside on EDUSOL, for which today we are entering the second week of activity, and I'm very sorry to see our server is just too overloaded to even reply to even answer to me And even lacking admin powers myself, I should have worked earlier on setting up redundancy on a more automatic way (as we have an off-site backup we can promote to live and redirect to, but I am unable to do this... Given that I am the techie person on board/the only "professional" sysadmin). This year I also quietly finished the bulk of the Comas rewrite. What? Comas? Still alive? Yes, and you can expect me to show it off to more people soon, and get it used for more conferences. I will talk more about it (and its motivation, and its current status) later on But basically, the only two things that Comas shares in common with the mod_perl-based system most of you got to know (mainly at CONSOL 2004-2008 or at Debconf 5 and 6, although I know of several other conferences which used it) and the current incarnation are The (most) basic database structure and the name. The project underwent a full rewrite, and is now a far more flexible, far easier to install, Ruby-on-Rails based application. And most important, it does no longer involve your name being Gunnar Wolf as a prerequisite for successfully setting it up ;-) Regarding DebConf, I have promoted a Central American MiniDebConf, and we are right on track for holding it in late March in Panam City. Everybody's invited, and we will have (surprise, surprise!) the very professional involvement of Mr. Anto Recio as local team, as it seems he didn't have enough with last year's DebConf9 and wants to suffer further. What am I lacking here? Motivation. I have been quite pessimistic, possibly turning some people away, even though we have a good first sampling of interested people's profiles and expectations. If you want to get involved, tomorrow (Tuesday 17-nov) we will have a meeting at Freenode's #sl-centroamerica, 17:00 GMT-6. Please note we do need involvement from the Central American communities, it is more than just a motivational issue. Last meeting it seemed Anto and I were the only people pushing the MiniDebConf - and frankly, that would be a basis for not even holding it. We need motivation from the very people involved in it! Anyway You can see I have (and it seems to be a constant in my life) a series of contradictions going on. However, the excercise of putting it all into writing helps me understand better where I am standing. When I started writing this post I felt much heavier, much more at a loss Right now I feel I want to refocus my energy on the same projects and teams I have been involved with, yes, but feel it at least more plausible. Hope so.

Tim Retout: More RC bugs

Heh, thanks zack for your welcome. :) I'm afraid I don't make bug fixing look as easy or as organised as you do. Some cheating to finish off the weekend: #548860 was reopened accidentally, #555898 was already fixed in another package, and #555939... actually, that did need a fix, but I just munged the test suite to expect some new error output. Then I spent this morning writing half a testsuite for svn-buildpackage, and this evening just zoning out. Sometimes I wonder whether fixing RC bugs is actually improving the quality of the release, or just letting us make a buggy release sooner. Non-RC bugs get pushed to the back of the queue. Hmm. But the pkg-perl team has around 170 packages with bugs in, and not that many people fixing bugs. I have to agree with corsac on the general point that just about everywhere in Debian could use more people. There's a huge role for non-DDs to play in getting fixes into Debian, but as far as I remember, the emphasis of the mentors documentation is on packaging rather than bug fixing. I was barely aware that I was even allowed to prepare an NMU. And from what I know of the NM process now, a huge list of RC bug fixes would go a long way to establishing credibility as a potential DD - longer than a huge list of poorly-maintained packages. It seems to me that the mentor relationship works better when DDs get to know particular people, and regularly sponsor uploads for them. This way they are in a better position to advise and sponsor any NMUs that might come along, and eventually to advocate them as an NM candidate. But it also seems to me that debian-mentors is not geared up for this at the moment. To conclude, it's 1am, and I shouldn't be posting controversial thoughts on my blog. :)

15 November 2009

Andre Luis Lopes: Fighting temptations : How to convince yourself not to buy when you want to

I m widely know (by my peers, not globaly know, as you may guess) for being a well controlated person when it comes to spending my sacred and beloved money. Actually, I m so well controlated that I m sometimes seen as someone who hates to spend money. Sometimes I m almost convinced that people thinking that way about me are right, but then I get back to my conscious mind and realize that they think like this because people tend not to agree with what they don t practice and, generally speaking, society has been continuosly teaching them to become as consumists as possible. Obviously, I m not completely protected against consumism, as I m human and have as much desires as anyone else, but I think I m doing well on keeping myself from being taken to the path which lead us to bit the bullet and spend our money on something. What contributes to this control also demonstrates how we re used to learn better only from mistakes, as I already spent too much money on things which I initially thought I desperately needed, but which after I realized weren t actually all that much needed after all. I have been trying to avoid wasting money on an e-book reader for months. At the beggining it was a piece of cake, as there wasn t a real option (mind you that I live in Brazil, not in the USA or some other so called first world country). However, in the last few months, the scenario has been changing and it seems that these days there are actually some options available. I have been researching privately about options for months and have become well aware of all the advantages and disavantages of all the options available today. Sorry, I won t be pointing the right option to you, as your best option probably will be different from mine and recommending things isn t the point of this post. Technically speaking, the options available today seems to provide me with what I need. There are no doubts that almost any of them would be good (but not all of them would be the right ) choices and actually would represent a real improvement over the current situation. So, one might ask, why not go ahead and just buy the damn thing ? For most of the people out there, it would seem to be the right thing to do, as I would be doing conscious and well researched purchase after all. Well, I would be doing something good for myself for sure, but the government actually would need to show me some respect and prove me they have some respect for me as well. Amazon, for example, is shipping the Kindle for other countries and Brazil is one of them. I would surely just go ahead and buy it the day the shipment was announced and that was almost what I did. What prevented me from doing so was the insane/absurd takes government is applying on anything one wants to import from another country. Even after converting the price from dollars to the local currency (reais), the price is something like three to four times higher that the original price in the origin country. It s insanely prohibitive for the vast majority of citizens and one could wonder why this is so when this is a device used basically for reading. Mind you that the government has big tax reductions for importing books, for example, which are seen as culture related items and so get to win some advantages over other non-culture related items. To summarize it all, if you want to convince yourself how not to spend money on something, even when you really want to, just do the math regarding the amount of the taxes you would need to pay and I assure you there will be no regrets when latter you think why you did not bought it.

14 November 2009

Andre Luis Lopes: Public service announcement : A LDAP directory won t do it all by itself

Recently I ve been dealing with requests for LDAP directories configs which clearly demonstrates how little people understand about directories and what they are capable of doing. A significant amount of people I know seems to really get it wrong when it comes to what they want from a directory. Actually, they somehow think that a LDAP directory will do whatever is needed for their application to store, retrieve, validate, authenticate and even take decisions based on no data provided at all. These people think that one should just deploy a directory using the minimum effort approach and suddenly everything will just work. They don t seem to realize that for their application to make use of a directory it should be prepared to do so. They can t accept it when they are told that the directory won t just work and by some unknow enchantment get their systems data stored, validated, authenticated and, shockingly for them, that it won t make their credentials consolidated so lots of different services will out of the box just start working using the same username/password pair. Also, some people don t understand the difference between a LDAP directory and a single sign-on (SSO) system. They don t realize that a directory won t, by itself (i.e. without additional software and some respectable amount of tweaking), provide them the ability to authenticate against it only a single time and have their credentials shared among all their systems. That s it. Said. Don t get me wrong. All that was metioned above is possible, but it isn t done by LDAP alone. LDAP is just a bunch of protocols and a directory is only one nice place to store information. What will be done with this information, how it wll be treated and how it could be used to produce meaningful results are almost always up to the application and/or to some middleware or added plugin/overlay/connector/whatever. Next time someone ask you to install LDAP so I can get rid of all my different username/passwords and use only one instead , be afraid. Be very afraid and present him/her some theorical knowledgment regarding the topic. Or, better said, insert some clue into his/her brain.

13 November 2009

Eddy Petrișor: This Sunday, already 5 years...

This Sunday, we celebrate already 5 years since the initiation of the successful Save Carol Park civic action. Back then, the park and the mausoleum were in danger of being destroyed to make room for a cathedral, in spite of special status of the park, the already too low green spaces per capita ratio, in spite of the legal status and in spite of public opposition.

Nice to see it will be celebrated Sunday, 15th at 13:00 at Arenele Romane, and regular people being invited there (linked page in Romanian):

http://remuscernea.ro/2009/11/sarbatorim-5-ani-de-la-salvarea-parcului-carol/

I'll certainly be there!

<iframe frameborder="0" height="350" marginheight="0" marginwidth="0" scrolling="no" src="http://www.openstreetmap.org/export/embed.html?bbox=26.091198,44.41135,26.09513,44.414235&amp;layer=mapnik" style="border: 1px solid black" width="400"></iframe>
View Larger Map

Matthew Garrett: Legacy PC design misery

I've spent chunks of the last couple of days fighting a problem that's existed for about 25 years. The 8086 was a 16-bit processor with a 20-bit address space, limiting the maximum physical address that could be accessed to 1MB. However, quirks of the segmented memory system meant that addresses greater than 1MB could be constructed - these would wrap around to the bottom of memory. Because loading the segment registers was a time consuming operation, some programmers used this behaviour as a performance optimisation.

The 80286 introduced 24 bit address space. Unfortunately, this meant that the addresses that previously wrapped to the bottom of memory now pointed at real addresses - not ideal if you were expecting the old behaviour. IBM fixed this by tying the 21st address line (A20 - they're zero indexed) through an and gate, with the default behaviour being to keep it tied at 0 and thus maintaining the old wraparound behaviour. Applications that wanted to access the full address space needed to enable the A20 logic gate. IBM didn't want to add any extra hardware to their system if they could avoid it, so tied the other side of the and gate to a spare pin on the keyboard controller. By writing a couple of bytes to the keyboard controller, your PC-AT stopped pretending to be an XT and gave you access to all of the insanely expensive RAM it had stuffed in it. Hurray!

PCs have been emulating this behaviour since the AT was first cloned. Of course, this being the PC industry, many have got it wrong. There's a set of approaches for controlling the A20 gate that may work, varying in terms of performance and desirability. Most hardware will give the desired result (ie, I have no desire to run DOS executables from 1982, make my A20 work damnit) using any of the various methods of A20 enabling. Some hardware doesn't. The most common method used in bootloaders (where we still have access to system BIOS services) is to call int 15h with an ax of 0x2401, which asks the BIOS to enable A20 for us. This isn't implemented on all hardware, but we should get a failure back that lets us go and bang on the keyboard controller in an attempt to get it to pay attention[1].

Enter the Kohjinsha SC3.

I picked this up second hand in Japan. It's a ridiculously cute little tablet, only slightly larger than hardware that's comfortably in the MID range. It booted a Fedora liveCD perfectly, though having GMA500 graphics meant that what appeared wasn't terribly attractive. Installation proceeded happily enough, followed by a reboot and... nothing. Grub loaded the kernel and initrd, jumped to the kernel and everything hung.

So, for the past couple of days, I was stepping through the kernel setup code, trying to work out where and why it was hanging. I'd got it narrowed down to the region where the kernel tried to free the memory used by the initramfs, but the failure hopped around depending on my kernel build. Something was clearly very wrong. The strangest thing about this was that if I booted the liveCD boot menu and selected "Boot from local drive", everything worked perfectly. isolinux was clearly doing something that grub wasn't, but there's rather a lot of code to step through there.

Things became a lot easier once I found that the OpenSuse version of grub worked. Their grub has a rather smaller set of patches than ours, and only a few looked even plausibly relevant. It only took ten minutes or so to figure out that it was one that altered the A20 code. Things became much clearer then.

The main functional difference between the Suse A20 implementation and the upstream one[2] is that the Suse one explicitly tests whether the A20 enabling worked by putting values at two different addresses that would be the same if A20 is disabled. By comparing them, we know whether A20 is working properly or not. If not it can then fall back to other mechanisms. The Fedora code trusted the BIOS's claim that the int 15 call had worked. The Kohjinsha's BIOS lied, A20 remained disabled, grub copied the kernel and initramfs to chunks of address space that contained lies rather than RAM and everything fell over horribly.

Thankfully, not a difficult fix once the problem was identified. But seriously, people. How hard can it be not to screw this up?

(For an excrutiatingly detailed analysis of how hard it can be not to screw this up, see here)

[1] the Intel Macs don't implement the int 15 approach, but return a failure. They also don't have a legacy keyboard controller, so attempting to hit that resulted in grub falling over. The magic IO port approach works. Another example of how the Intel Macs aren't really PCs...

[2] grub2 implements the more paranoid check

MJ Ray: Congratulations Peter Marks, UK Business Leader of the Year

As well as being a member of TTLLP, I m a member of the Co-operative Group, which (amongst other things) runs the co-operative shops in areas where there is no regional cooperative society, including Weston-super-Mare and Worle. Congratulations to our Chief Executive Peter Marks for being named Business Leader of the Year this week. Co-operatives employ 10% more people in the world than all the multinationals and their subsidiaries put together (according to according to Peter Couchman). It s nice to see our business success being recognised in popular awards.

12 November 2009

Russell Coker: Links November 2009

Credit Writedowns has a populist interpretation of the latest Boom-Bust cycle [1]. It s an interesting analysis of the way the US economy is working. Bono writes for the NY Times about Rebranding America [2]. He praises Barack Obama suggesting a different reason to believe that the peace prize is deserved and describes what he believes to be the world s hope for the US. IsMyBlogWorking.com is a useful site that analyses your blog [3]. It gives some advice on how to improve some things as well as links to feed validation sites. Evgeny Morozov gave an interesting TED talk How the Net Aids Dictatorships [4]. I don t agree with his conclusion, he has some evidence to support his claims but I think that a large part of that is due to people not using the Internet well. I expect things to improve. The one claim that was particularly weak was when he mentioned radio stations in Rwanda as an example of technology being used for bad purposes the entire point about the first-world discussion about such things is the radio vs the Internet. Ray Anderson gave an inspiring talk about The Business Logic of Sustainability [5]. He transformed his carpet company, decreasing it s environmental impact by 82% and it s impact per volume of product by more than 90% while also significantly increasing it s profitability. He says that corporate managers who don t protect the environment should be regarded as criminals. Making his company more environmentally friendly reduced expenses (through efficiency), attracted more skillful employees, and attracted environmentally aware customers. Managers who don t follow Ray s example are not only doing the wrong thing for the environment, they are doing the wrong thing for their stockholders! Ray s company Flor takes carpet orders over the web [6]. They won t ship a catalogue outside the US, so presumably they only sell carpet to the US too. Marc Koska gave an interesting TED talk about a new syringe design that prevents re-use [7]. His main aim is to prevent the spread of AIDS in the developing world where even hospital staff knowingly reuse syringes. It will also do some good in developed countries that try to prohibit drug use. David Logan gave an interesting TED talk about tribal leadership [8]. His use of the word tribe seems rather different from most other uses, and I am a bit dubious about some of his points. But it is definitely a talk worth seeing and considering. Deirdre Walker is a recently retired Assistant Chief of Police who has worked for 24 years as a police officer, she describes in detail her analysis of the flaws in the TSA security checks at US airports [9]. Brian Krebs wrote an article for the Washington Post recommending that Linux Live CDs be used for Internet banking [10]. Windows trojans have been used to take over bank accounts that were accessed by security tokens, that could only be accessed by certain IP addresses, and that required two people to login. It seems that nothing less than a Linux system that is solely used for banking is adequate when a lot of money is at stake. The NY Times has an interesting review of the book Ayn Rand and the World She Made [11]. It seems that Ayn was even madder than I thought. Gary Murphy has written an interesting analysis of the latest stage in the collapse of the US Republican party [12]. The ABC (AU) Law Report has an interesting article about Evony s (of China and the US) attempting to sue Bruce Everiss (of the UK) in Australia [13]. The Guardian has an insightful article about the IEA making bogus claims about the remaining oil reserves [14]. It seems that the experts who work for the IEA estimate that oil is running out rapidly while the US is forcing them to claim otherwise. Dean Baker of the Center for Economic and Policy Research has written an interesting article about the economic effects of the war in Iraq [15]. Apparently it caused the loss of over 2,000,000 jobs considerably more than the job losses that could ever result from efforts to combat global warming.

Joachim Breitner: Maxi-Max-Algorithm

11 November 2009

John Goerzen: In-Depth Review: Motorola Droid (with some iPhone comparisons)

The Motorola Droid A855 is the first Android 2.0 phone. I have been using one since Monday, having switched from a BlackBerry Pearl. I also wrote about Terah s iPod Touch recently, so I ll be making comparisons to it too. Here s my review. Hardware Physically, the device is very nice. It fits well in my hand. It comes in a fairly small box. It s surprisingly heavy for such a small device, but it isn t so heavy as to be a problem. It feels solid, sturdy, and durable throughout. Terah has the most recent iPod Touch 8GB, and compared to that, the Droid is thicker and heavier. The Droid s screen is awesome; a little longer but not as wide as the iPod Touch s. The iPod Touch screen seemed to offer less friction as I d slide my finger over it, which was nice but not a terribly big deal. I don t share some other people s annoyance with the keyboard. It is far better than the BlackBerry Pearl, or many other BlackBerries I ve seen. Along the bottom of the screen are some silkscreened buttons. My gripe with them is that they are easy to accidentally press. I ve done that more than once while using the phone in speakerphone mode, but you can lock the phone keyboard while you re on a call. I also don t share the complaint about battery life. It is excellent compared to the Pearl. Despite having a long-life battery, if I had it charged fully when leaving work at 5PM, by the next morning at 7AM it would often be completely discharged (though sometimes only half discharged). I believe that has to do with my home being in a poor reception area, and it spending a lot of energy looking for signals. In any case, the Droid has impressed me with its battery life and I have no complaints there. The screen, as I said, is brilliant and sharp. It is readable in various lighting conditions. By default, its brightness adjusts with the brightness of the ambient light. That s normally fine, but it can be annoying to stand in front of a light with the Droid in a shadow, watch its screen darken, and then shift a bit and it becomes bright again. There is a setting to disable automatic brightness. Button-wise, it has four physical buttons: the power/lock button at the top, volume up/down on the side, and a camera button on the side. The camera button only works when the phone isn t suspended (locked), and disappointingly can t be remapped to something actually useful. Just beneath the screen are four touch buttons: back, menu, home, and search. These are the ones I complained were easy to accidentally press. MicroSD and USB The Droid comes by default with a 16GB MicroSD card already installed. This is one huge advantage over the iPhone or iPod Touch: you can actually put things on the phone yourself, directly, without having to use iTunes and its limited features. I have, for instance, downloaded a PDF on the Droid and later copied it to my PC. I also copied a KeePassX encrypted password database from my Linux computer to the Android, for use with KeePassDroid. The iPhone/iPod Touch password programs don t support this kind of copying of files from your PC to the device, though one will let you put a database up on a webserver you control and download it from there. Plugging in a MicroUSB cable will start charging the Droid automatically. In order to make the SD card mountable, you must simply drag down the notification bar (which is how you get detail about what it s telling you normally) and touch the USB icon. When the SD is mounted on the computer, the Droid won t see it, of course. Touch the USB icon again to mount it on the Droid again, or just unplug USB. Wireless and Wifi The wifi support works like you might expect: pretty well. The cell phone reception works well, as does its Bluetooth support. It has an easily-activated airplane mode which disables all wireless features, which can then later be re-enabled. You can also individually disable wifi and Bluetooth. Oddly, you can t disable the cell phone network individually. The only way I could find to disable it is via Airplane Mode. User Interface The user interface, overall, is very slick and polished. However, I would have to say it is not as slick and polished as the iPhone/Touch interface. A few of the animated effects have a low framerate, which isn t really a big deal. More of a big deal is that settings and options can be scattered in many different locations, making them hard to track down at times. The device also offers fewer visual cues than the iPhone/Touch, though that is perhaps not significant. Like Apple s device, the Android 2.0 UI offers you three home panels, which you switch between by dragging your finger left and right. The iPhone shows some dots at the bottom of the screen, a standard UI indicator on that device that you can flick left/right, while there is no such indication on the Android. This is somewhat nitpicky though. I would put Android 2.0 and iPhone in the same general class of user interfaces, way above any other such device I ve tried. The Droid has an on-screen keyboard similar to the iPhone/Touch, though somehow it felt like the keys were smaller or easier to mistype. I m not sure why that is; maybe they really are smaller. The physical keyboard can be used at any point too, of course. Background Apps This is an area where Android really shines over iPhone. Android supports background apps everywhere. That means that your weather widget can be always correct, instead of being hardcoded at the factory to show 73 degrees as iPhone s weather icon does until you tap to open it. It means that more apps remember where you were and what you were doing when you switch to/from them. And it means that you can do things while that PDF downloads. Finally, it means that you can have native Jabber clients on the Android without having to do some mess with Apple push notifications plus third party servers, significantly reducing the complexity of such apps. Browser Now moving on to the applications preloaded on the phone, I ll start with the browser. It is, in a word, awesome. It is far faster and reliable than the browser in my N810. Compared to BlackBerries, of course, this is a real browser, not their limited one; and even so, it is still faster. It is also faster than the iPhone/Touch browser, sometimes significantly so. The pinch to zoom feature of the iPhone/Touch is lacking, and it must be said is both useful and pretty. Zooming softkeys appear on the screen when you tap, and do work well. It also automatically zooms if you tap on the page to fill out a form, for instance. The bookmarks save thumbnail images similar to the iPhone, and you can put bookmarks on your home screens as well. Rotating the Droid to landscape orientation causes the browser to also rotate, and on most websites it will also zoom in by default at that point, since it s got a wider orientation and doesn t have to shrink stuff to fit as much. The physical keyboard is very nice for filling in usernames and passwords. iPhone-optimized sites, such as Bloglines, work great on the Android. Though many of them fail to autodetect the Android as an iPhone-like device, and thus you have to manually ferret out their iPhone-optimized URLs. Email This is both a strong and a weak spot of the Droid. First off, it comes with two email client apps preinstalled: one for Gmail, and one for everything else. I haven t used the Gmail one, so this review doesn t consider it. You can connect the email program to your IMAP, POP, SMTP, or Exchange (ActiveSync) accounts in the predictable way. Each account can be configured with its own notification preferences, so you can easily see an icon, vibration, or beep when you get new mail on one account and not the other. All folders on an IMAP account are accessible, which is a very nice feature that is not shared by the BlackBerry. You can view your mail as a unified INBOX if you prefer. In such a few, a thin color bar to the left of each message summary tells you which account it came from by its color. This is a nice way to quickly deal with all new email, wherever it may be from, and ought to be emulated by some desktop clients. You can, of course, also view each account individually. The email program supports attachments, both viewing and sending. It does not appear to have the iPhone/Touch bug if failing to display emails forwarded as attachments. Now to the drawbacks. First of all, it inexplicably doesn t support the IMAP IDLE command. As a result, IMAP accounts are polling-only; there is no near-instant notification of new mail as there is with Exchange accounts, even though IMAP supports that trivially. Like the iPhone/Touch, Android 2.0 s mail program has a great deal of trouble with self-signed SSL certs, or SSL certs that are unusual in any way. Both devices refuse, by default, to talk to mail servers with self-signed SSL certs. Neither one offers to let you add an exception to recognize a particular cert in the manner that the built-in web browser on these devices would do. On the iPhone/Touch, at this point you need to obtain the cert by other means, stick it up on a web server, browse to it from the device, and add it that way. This trick doesn t work on Android 2.0, nor does adding it using the import from SD option. There appears to be absolutely no way to teach the mail program to use a self-signed cert on Android. The good(?) news is that you can choose to have Android accept any certificate. Many people in forums suggest that, and it does let it connect. Of course, it also removes much of the security benefit of using SSL/TLS in the first place, and is a terrible excuse for the lack of proper self-signed cert support. Both iPhone and Android devices have a horrible user experience in this area Quickoffice The Droid comes with some sort of Quickoffice software pre-installed. It can be used to view PDF, Word, and Excel files (at least; maybe more). But it is a rather strange beast. It has no icon on the applications screen. The only way to open Quickoffice is by opening a file that it supports in another app. So, for instance, tap on a PDF in the browser or open a Word attachment in email. I haven t played with it much, but I can say that it s read-only but seems to have high-quality rendering of all document types. Its PDF viewer is glacially slow on any page that has graphics. Flip the page to one with graphics and up pops a progress bar. And good thing too, because it might take 15-30 seconds to render a page. I will be looking for better PDF viewers in the Market; there are quite a few. Lack of file manager And that brings us to the next surprising limitation: there is no built-in file manager. I downloaded a PDF from the browser, and saved it to the SD card, but there was no way to look at it from the phone! Absolutely none. No way to delete it, rename it, etc. Several people recommended Astro, which solved all of those problems. Not having such a program built in is a weird glaring oversight. Of course, the iPhone/Touch doesn t have one built in, but in their case the glaring oversight is not having any files to manage Calender, Contacts, and PIM features This is an area of exceptional strength for the Android. I believe it s got the best PIM features of any mobile device out there, though it s not without its quirks. There are two calendar apps on the Droid, and they both have virtually identical interfaces and feature sets. I am rather at a loss as to why we are burdened with two separate apps. In any case, the app called Calendar works with a local calendar, or with Google Calendar syncing. It supports all the features you d expect, and plenty you wouldn t, including excellent support for meetings, viewing other people s calendars that you ve configured access to on google.com/calendar, viewing subscribed iCal calendars, etc. It has push syncing with Google Calendar, so new events appear in about 10 seconds. It is well-executed and completely flawless in every way I could see. Corporate Calendar is the same, but for hooking into Exchange or Exchange-compatible calendars via ActiveSync. We are evaluating groupware, and have so far tested it with Zimbra and Scalix. It worked well with Zimbra, and not so well with Scalix. That s not to say there were no problems. The meeting invitation emails Corporate Calendar generated appeared to have no body in the Zimbra mail client, or in Thunderbird (though if you look at the raw email, you see it does have a vcal entry in it). Meeting invitations sent to the Android can be displayed in the Email program, but the Email program doesn t offer accept/decline buttons, so you have to manually pull up the event on your calendar to accept or decline it. Other than that, it worked flawlessly with Zimbra. Scalix exhibited several data integrity issues that will probably make it unsuitable for syncing with an Android at this time. There is a built-in Calendar widget you can put on your home screen. It will show you the date and info about your next appointment. I miss the BlackBerry Pearl theme that showed me the next two appointments. There are some apps that claim to do this, but none of them work well. Contacts are also quite powerful. The contacts viewer aggregates your contacts from multiple sources into a single view, which is nice. It can sync in Gmail contacts, ActiveSync, and Facebook contacts. (How s that for a device with corporate and personal appeal?) The viewer works better than Apple s, and creating a new contact lets you choose which source you d like to add it to if you have more than one available. Continuing the trend of many recent devices, the Droid has no task/todo list support built in. Maps I ve heard people be all excited about Google Maps, saying it s the best maps ever in a phone (though I suspect they have forgotten that Garmin has added on a phone to their GPS products in the past). In general, they are probably right. And also they are probably irrelevant. The first thing that must be said is that the maps on the Android, like the iPhone/Touch and other such devices, are not actually installed on the Android. Consequently, for mapping or navigation to work, you must have a data signal, either wifi or CDMA. That immediately turns this into a GPS accessory, not a go-to device, because who wants to be stuck without a working GPS someplace without cell phone reception? (Such as several areas right near my house) I have a Garmin Nuvi 500 (see my review), and despite not being a terribly expensive GPS, it runs circles around the mapping in Android 2.0 (or iPhone for that matter). The 3D display on the Nuvi is very helpful for driving in dense city streets, and that s not available on Android or iPhone. The Nuvi has nice features such as one-touch detour calculation, excellent geocaching integration, accurate and sensitive receiver, etc. I will not be leaving it at home for trips just because the Android supports maps. That said, there is something to be said for having maps of Android s quality. It can be a nice crutch if you re somewhere unfamiliar but didn t expect to be, and thus left your GPS at home. It also can give you routing on transit sources, which Garmin can t, so if you re in an urban area with bus/subway options, the Android maps could be very helpful. I will probably try that out when we re in Chicago next and still pack the Garmin unit for driving around rural Indiana. The Phone The last built-in app to discuss is the phone feature. Yes, the Android is a phone. As expected, the phone integrates well with the system. There is not much of any great interest to discuss here. It s a phone. It integrates with contacts. It works. I use Google Voice, and have had their BlackBerry app for some time now. The Google Voice android app is far nicer. You have the option to make all calls via Google Voice, none via Google Voice, prompt each time, or only international calls via GV (which is presumably cheaper for such than your carrier). A couple of annoyances, though. One is that you have to touch a button to activate the keypad (to send touch-tone digits while you re on a call). It should be activated by default. Android Market vs. App Store I know some people love it, but to me the Apple App Store is like a cross between the sleazy guy selling watches from his car trunk and the tourist trap strip malls that sell 50-cent useless plastic memorabilia for $20. Yes, there are some quality apps in the App Store that aren t overpriced, don t violate your privacy, and do something useful. But you ll have to look hard. It still boggles the mind that most of the secure password storage tools for Android think they need access to the GPS, Internet, and at least one of your contacts, phone number, logs, etc. Yes, you heard me right. A password storage tool wants GPS and Internet access. And, being Apple, we all know how tight they ve locked down the App Store. Emulators are banned. Useful apps get arbitrarily banned at various points. Now, the Android App Market is better than the Apple App Store in the sense that it has a lower percentage of the crappy apps, and perhaps more useful apps, at least to my taste. That s not to say it s without crappy apps. It boggles my mind why most weather applets on the Market think they need to know my phone s status and identity, and why some apps that have nothing to do with the Internet or location services want to know all of the above. I don t install such apps. But there are gems out there. The small 400K weather applets that do what they advertise, and do it well. My absolute favorite is droid48, an emulator for my beloved HP 48GX calculator. Yes, an emulator. You can also find various NES, SNES, and C-64 emulators on the Market; Apple famously removed the latter from their App Store recently. And you re not tied to the Market either; you can install apps from wherever you like. KeePassDroid is another one. It reads the same database as KeePassX for Linux or KeePass (.kdb format only) for Windows. It s a secure password management system, and I can periodically copy the file from my desktop over to the Droid and have all my passwords at my fingertips but encrypted, of course. There is simply nothing that convenient for the iPhone/Touch because the device doesn t permit it. Music and Video I haven t played with these much, but the music player seems to just see MP3s placed anywhere on the SD and presents them as you d expect a music player to do. It looks fully-functional and easy to use. Conclusion Overall, I think the Droid is a very nice phone. It isn t perfect, but it bests the iPhone in a number of areas. I think it s probably the best phone for many right now, and the iPhone for some others. Update Nov 11: Two other annoyances I forgot to mention. One is that the power-button shortcut menu, as well as the lock screen, have a quick shortcut to put the phone into silent mode. Very well. Except, confusingly, these buttons not only enable silent mode but also disable vibrate mode while checking the silent mode checkbox in settings does nothing to vibrate mode. There is no built-in shortcut to enable vibrate mode; you d have to unlock the device, use the volume keys to go down the vibrate. The app Silent Mode Jammer helps with this. Second is that the documentation is as poor as any other cell phone around. For instance, there s a setting that says Voice Privacy. It s a checkbox. The description is Enable enhanced privacy mode. Thanks, but that tells me nothing. Nobody online seems to know either. A few overconfident forum posters claim it s encryption, linking to posts from 2003 about a Sony phone with a checkbox with the same name. Maybe it is encryption, but that is hardly definitive. The bottom line is it s not documented anywhere. Neither of these change my conclusion above though.

10 November 2009

Biella Coleman: Fsck Purity: The Politics and Pleasures of Free Software

The great thing about living and working in NYC is that there is a steady stream of conferences to attend, such as the fast approaching digital labor conference entitled Internet as Playground and Factory. The problem is that since I live 1/3 of the year in San Juan and often get stranded and stuck when my mother gets hospitalized, as is the case now, I am often not in NYC. Depending on my mom s prognosis tomorrow, I may or may not make it but I am working on my slides and revamping a few of my thoughts as I would like to attend. My new title is one I think some readers of the blog might enjoy: Fsck Purity: The politics and pleasures of free software (thanks karl) and the talk will be part of a panel The Emancipatory Politics of Play with Chris Kelty, Fred Turner, and Ben Peters. If you are interested in attending, register soon as it is free and open to the public but requires advanced registration. There are also already a collection of short interviews videos available, the one by me is a basic discussion of the politics of free software, conducted at the end of a very long teaching day, so I am not sure it makes any sense. I never watch my own interviews so I can t quite be the judge :-)

Biella Coleman: Fsck Purity: The Politics and Pleasures of Free Software

The great thing about living and working in NYC is that there is a steady stream of conferences to attend, such as the fast approaching digital labor conference entitled Internet as Playground and Factory. The problem is that since I live 1/3 of the year in San Juan and often get stranded and stuck when my mother gets hospitalized, as is the case now, I am often not in NYC. Depending on my mom s prognosis tomorrow, I may or may not make it but I am working on my slides and revamping a few of my thoughts as I would like to attend. My new title is one I think some readers of the blog might enjoy: Fsck Purity: The politics and pleasures of free software (thanks karl) and the talk will be part of a panel The Emancipatory Politics of Play with Chris Kelty, Fred Turner, and Ben Peters. If you are interested in attending, register soon as it is free and open to the public but requires advanced registration. There are also already a collection of short interviews videos available, the one by me is a basic discussion of the politics of free software, conducted at the end of a very long teaching day, so I am not sure it makes any sense. I never watch my own interviews so I can t quite be the judge :-)

Matthew Garrett: The ACPI Embedded Controller

Of course, the event model I described before is far too simple to be worthy of a place in the ACPI spec. At the most basic level, there's more possible events than there are GPEs to attach them to, so there's a need for some further complexity. This manifests itself in the form of the ACPI embedded controller (EC).

The EC is typically a small microprocessor sitting on your motherboard, often implemented in the same hardware as the keyboard controller. It shares a lot in common with the keyboard controller - on PCs it'll usually appear in system io space, with one register for writing a command or reading a status, and a second register for passing data back and forth[1]. There's 256 registers available, so a typical interaction might be to write the READ command (0x80) to the command register, write the EC register address to the data register and then read back from the data register to get the EC register contents.

The embedded controller will often be responsible for tracking information about the hardware, such as the temperature. Attempting to read the temperature through ACPI will execute an ACPI method - in the case of the temperature being monitored by the embedded controller, this method will attempt to read from an EC register. The EC driver then performs the read and returns the result, which gets converted into decidegrees kelvin and passed back to whatever made the temperature query.

But, as mentioned above, the EC also generates events. These may be in response to a user initiated event like a hotkey press, or may be triggered by some change in hardware state like a thermal trip point being passed. The embedded controller will then raise a GPE.

Unlike normal GPEs, the EC GPE is not handled by looking for a _Lxx or _Exx method. Instead, the ACPI tables provide information about the GPE that the EC is using. This may be in the form of a _GPE definition in the EC object in the main ACPI tables, or alternatively may be provided in an ECDT (Embedded Controller Descriptor Table), an optional table that provides all the EC information. In either case, the OS knows which GPE will be triggered by the EC. It then installs a handler that will be called whenever the EC raises that GPE.

Things get a touch confusing at this point. The first thing this handler does is read the command byte, which functions as a status byte on reads. It then checks whether the SCI_EVT bit is set. This informs the system that the GPE was in response to a hardware event, and so the EC handler writes a query command to the EC command register and then reads back a value between 0 and 255 from the data register. This is then mapped to a _Qxx method, with xx representing the number of the EC event read from the data register. Like the _Lxx and _Exx methods, the _Qxx method is then executed.

The problem with all of this is that the EC isn't that fast. When a byte is written to it, it's necessary to read back the status byte and check whether the IBF bit is set. This is set when the OS writes a byte to the data register, and cleared once the EC has processed it. The straightforward way to deal with this is to poll the status byte until the bit is cleared, and then write the next byte, but polling is slow and wastes CPU time. The EC can instead be set to interrupt mode, where it'll fire a GPE when the IBF bit clears.

The EC has one additional function. The ACPI spec allows for an i2c bus to be implemented through the EC, with EC registers mapping to i2c registers. The observant among you will realise that this means that there's an indexed access protocol being implemented on top of indexed access hardware, which is more layers of indirection than seem sane. For additional humour, this is usually only used to add support for ACPI smart batteries. ACPI batteries are generally abstracted behind a set of ACPI methods that provide information. Smart batteries instead speak i2c directly to the OS[2] for no real benefit. Linux handles these devices fine, and while the chances are you probably don't have one, the chances are also that if you do you haven't noticed.

The final quirk of ACPI events is that there's yet another means of delivering events. The term "fixed feature" is used to describe an ACPI device that isn't described in the ACPI tables. A power button may be implemented as a fixed feature device rather than a normal ("control method") device. This is indicated by a flag in the fixed feature block. Hitting a fixed feature power button will generate an ACPI interrupt, but no GPE. Instead the OS has to read the fixed feature block and note that the power button flag is set there. It then notifies userspace appropriately. Sleep buttons can also be implemented this way, but other devices will be in the normal ACPI tables and will generate either GPEs or EC events.

[1] On my laptop, these are ports 0x62 and 0x66 - compare to the keyboard controller's use of ports 0x60 and 0x64

[2] As directly as indirection via the EC can be...

Matthew Garrett: ACPI general purpose events

ACPI is a confusing place. It's often thought of as a suspend/resume thing, though if you're unlucky you've learned that it's also involved in boot-time configuration because it's screwed up your interrupts again. But ACPI's also heavily involved in the runtime management of the system, and it's necessary for there to be a mechanism for the hardware to alert the OS of events. ACPI handles this case by providing a set of general purpose events (GPEs). The implementation of these is fairly straightforward - an ACPI table points at a defined system resource (typically an area of system io space, though in principle it could be something like mmio instead), and when the hardware fires an ACPI interrupt the kernel looks at this region to see which GPEs are flagged. Then things get more interesting. The majority of GPEs are implemented in the ACPI tables via methods with names like _Lxx or _Exx. The xx is the number of the GPE in hex, while the leading _L or _E indicates whether the GPE is level- or edge-triggered. If an ACPI interrupt is fired and GPE 0x1D is flagged as being the source of the interrupt, the ACPI interpreter will then look for an _L1D or _E1D method. Upon finding one, it'll execute it. What this method does is entirely up to the firmware - on most HP laptops, GPE 0x1D is hooked up to the lid switch[1] and so executing it will send a notification to the OS that the lid switch has changed state. The OS will then evaluate the state of the lid switch (generally by making another ACPI query) and send the event up to userspace. How does the lid end up triggering GPE 0x1D? Things get pretty hardware specific at this point. Intel motherboard chipsets have a set of general purpose io (GPIO) lines that can, for the most part[2], be used by the system vendor for anything they want. For a lid switch, one of these lines is hooked to the switch and the BIOS configures the GPIO as an input. Pressing the switch will cause the GPIO line to become active. The GPIO lines are mapped to GPEs in a 1:1 manner, though with an offset of 16 - ie, GPIO 0xd will map to GPE 0x1d. If GPIO 0xd becomes active, GPE 0x1d will be flagged and an ACPI interrupt sent. The ACPI code will then do something to quash the interrupts, such as inverting the polarity of the GPIO[3], as well as send the notification to the OS. Why are the GPIOs offset by 16 relative to the GPEs? The lower 16 GPEs (again, talking about Intel hardware) have pre-defined purposes[4]. These range from things like "Critically low battery" to "PCIe hotplug event" down to "This device triggered a wakeup". And the latter is what I'm most interested in here. Various pieces of modern hardware can be placed into power saving states when not in use. The problem with this is that the user experience of having to turn on hardware before you can use it is not a good one, so in order to make this the default behaviour we need the hardware to tell us that something happened that requires us to wake the hardware up. There's something of a chicken and egg problem here, but thankfully most of the relevant modern hardware has out of band mechanisms to tell us about things going on. The PCI spec defines something called Power Management Events (PME), which are driven by an additional current that's supplied to the hardware even when it's otherwise turned off. On plug-in PCI Express cards, firing a PME generates an interrupt on the root bridge and a native driver can interpret that, but for legacy PCI devices and integrated chipset devices the notification has to come via ACPI. The example I've been working on is USB. It's a good choice for various reasons - firstly, there's already support for detecting when the USB controller is idle. Secondly, modern USB host controllers have support for generating PMEs on device insertion, removal or (and this is important) remote wakeup. In other words, as long as the USB bus is idle we can power down the entire USB controller. If the OS tries to access a USB device, we'll power it back up. If the user unplugs or plugs a device, we'll power it back up. If a previously idle device suddenly responds to some external input, we'll power it back up. And it's all nicely invisible to the user. How does this work? The controller retains a small amount of power even when nominally pwoered down. This is used to keep the detection circuitry alive. When it receives a wakeup event, it asserts the PME line. The chipset detects this and fires a GPE. The OS runs this GPE and receives a device notification on the ACPI representation of the USB controller, telling us to power it back up. We do so and process whatever woke us - if the bus then goes idle again, we can power down once more. The astonishing thing is that this all works. The only problem we have is that it relies on the machine vendor to have provided the ACPI methods that are associated with the GPEs. If they haven't, we can't enable this functionality - even though the hardware is capable of generating the GPEs, we have no method to execute to let us know which device has to be woken up. The GPE is never answered, we never acknowledge the PME and the hardware keeps on screaming for attention without getting any. And, more to the point, it never gets powered up and your mouse doesn't work. There's a pretty gross hack to deal with this. In general, we know what the GPE to device mappings are - they're pretty static across Intel chipsets, and while AMD ones can be programmed differently by the BIOS we can read that information back and set up a mapping ourselves. This trick also comes in handy when some vendors (like, say, Dell) manage to implement one of the GPE events wrongly. Everything looks like it should work, but the method never sends a notification because it's buggy. In that case we can unregister the existing method and implement our own instead. This code isn't upstream yet, but patches have been posted to the linux-acpi mailing list and with luck it'll be there in the 2.6.33 timeframe. My tests suggest about 0.2W saving per machine, which isn't going to save all that many polar bears but seems worth it anyway. [1] _L1D = lid. Sigh. [2] There's a few that are reserved for specific purposes [3] So where before it had to be high to be active, it now has to be low to be active - this means that it'll now trigger on the switch being opened rather than closed, so you'll get another event when you open the lid again. [4] You can find a list in the documentation for the appropriate ICH chip - the relevant section is "GPE0_STS" under the LPC interface chapter.

Muammar El Khatib: On email addresses. Is there an impact?

I have been reading comments on Sandro's post about the use of email addresses. I am not sure about what he really wanted to express exactly, because I can't see anything wrong when someone from other distro upload a package into the archive and they use their distro's mail addresses so it is clear that I don't agree with the first point of his post. Now, regarding the second point, I don't understand why when being a DD and an Ubuntu Developer at the same time some people prefer uploading to Debian archive using @ubuntu.com but well, anyone is free of doing what they think is correct and this is not something which is in the policy so it's OK. But reading the first point made by Stefano's post made me understand why.

I got surprised when I read the Jon's post about debian kernel contributors and I looked for the word debian in http://lwn.net/Articles/247582/ and nothing was found. I subscribed for a while, just for curiosity, in the Linux Kernel Mailing List and I was able to read some mails from people I know they are in Debian and just because the patches weren't signed off with debian mail addresses Debian does not appear in such a post at lwn.net. I'd like to add that, for not being misunderstood, I do respect all kernel contributors, because their contributions are really important for the whole community and we are aware of Debian's contributions. My point is that it should be accepted that there exists an impact when using one or another email address and it should be considered (when you are part of both projects, in this case, Debian and Ubuntu).

Next.

Previous.