Search Results: "will"

23 March 2007

Gustavo Franco: Us and Them

There's a lot going on, since we're getting closer to the International Free Software Forum 8.0 that will be held in Porto Alegre, Brazil. Sacix new website is online at: www.sacix.org.br (sorry Portuguese only yet), and we've received a impressive amount of new subscribers to the related mailing lists.

Paulo and I managed to add usbfloppy support into ltspfs that I've forward to Vagrant from pkg-ltsp in Debian, Oliver (ubuntu/edubuntu) and upstream. It was just a detail for many but a huge step for us, considering that more than 100.000 end users are using their floppies into a usbfloppy drive so we really needed that in time for Sacix next release (Sagui).

Quick notes:
* My new car has a week of life
* Developers, please vote for DPL!

I'm now warming up for Roger Waters gig. See you!

Alastair McKinstry: Preparing for Daylight Savings Time

While computers mostly handle the Daylight Savings Time changeover automatically, sometimes work is required. In our case at ICHEC, arranging for some jobs to run at set times, means changing the scheduler at the changeover. We use PBS and Maui to schedule what jobs run when on our cluster. Mostly jobs get run according to priorities: the scheduler (software) decides which what the priority jobs are and when; it collects free nodes until it has sufficient free CPUs to run the jobs at hand. It can do backfilling: when it's e.g. trying to run a large 128 node job but has only 10 nodes free, it will reserve nodes as they become free until it has all the resources needed to run the job. If by looking at the remaining time left on running jobs it realises that it won't get nodes free for the large job for say 2 hours, it can run small jobs with runtimes of less than two hours on the nodes it had reserved. Clever. The fun issue comes when you need to set reservations: say you need to run a job at 2am every day on 32 nodes, as we do: the scheduler needs to plan accordingly. The scheduler needs to really have 32 nodes free at that time. Thats 2am local time, of course: but next Sunday, at 2am, the clock changes... So, working out the consequences, and preparing for the change, I sympathise with our American friends who've moved three weeks early to save energy. Thus causing lots of midnight oil to be burned around the world by sysadmins and programmers updating software. Hmmm. Note to Self: When Posting a blog entry asking for help on getting blog comments to work with openid, try leaving the comments setup on the blog working, so people can leave replies. Fixed now.

Robert Collins: 23 Mar 2007

I've finally hooked up bzr-dbus to bzr-gtk: When a local branch changes its HEAD, that notifies a background task 'commit-notifier' (when the branch can be read by that task). You need to be running 'bzr commit-notify' and have bzr-dbus correctly installed (see its README). Its only just working now, so will be tweaked and tuned a bit to have the commit-notify command started automatically by GNOME, have it read remote branches (not done right now to avoid issues with needing a login box). One nice thing is that this will notify on 'pull' commands too, so when a bzr branch or pull command completes, you get a notification.

Wouter Verhelst: Etch and glibc

Thomas mentions that Etch will release with glibc 2.3 rather than glibc 2.4, and wonders why that is. There are two simple reasons for this:
  1. AIUI, glibc 2.4 drops support for non-NPTL kernels (i.e., 2.4 and earlier Linux kernels). Since sarge's default kernel was still a 2.4-based kernel, upgrading to a glibc 2.4 will immediately break everything on your system, since at that point your libc suddenly refuses to cooperate with your kernel. Not providing an upgrade path for users who run a supported kernel of our previous release is not an option.
  2. Etch will have official support for 11 architectures: i486 and later intel-compatibles, SPARC, Alpha, PowerPC, ARM, big- and little-endian MIPS, PARISC, ia64, S/390 and AMD64. If we want to migrate to glibc 2.4 or later and still release, then it has to work on all those architectures. Since NPTL requires some architecture-specific support and since that architecture-specific support is not available for some of our current architectures, this is not the case (also see the above). It may be possible that Debian "lenny" will drop some architectures because the most recent version of glibc still does not support them, but ultimately that decision will be up to the release managers.
So, while I'll agree that it kindof sucks that Debian will release with a somewhat outdated version of glibc, it's not as if there isn't a valid reason.

John Goerzen: bzr, again

I've talked a lot lately about different VCSs.

I got some interesting comments in reply to my most recent post. One person took issue with my complaint that nobody really understood how to specify a revision to git format-patch, and proceeded to issue an incorrect suggestion. And a couple of people complained about my comments about bzr, which generally came down to the released version of bzr didn't have anything compelling and also didn't support tags.

So I went into #bzr, asked them what bzr has that git, Mercurial, and darcs don't. And gave bzr the benefit of the doubt that 0.15 will be out soon and will be stable. What I got back were these general items:

  1. Renaming of directories (not in hg, git)
  2. 2-way sync with Subversion (not in hg, darcs)
  3. Checkouts (not in any others by default)
  4. No server-side push requirement


Let's look at these in more detail.

1. Renaming of directories

All of them can rename files and (excepting git) completely accurately track back the file's history. But consider this: if person A commits a change to branch A that adds a file, and person B then renames the directory that the file is in on his branch, will a merge cause person A's file to appear in the new directory name? In darcs and bzr, yes. In Mercurial and git, no.

So yes, this is a nice thing. But I have never actually had this situation crop up in practice, and even if it did, could be trivially remedied. I would say that for me, I don't really care.

[Update: Current stable releases of Mercurial can do this too. I'm not quite sure how, but it does work. So git is the only one that can't do that.]

2. 2-way sync with Subversion

This is a really nice feature and is present in both git and bzr. I haven't tested it either place, but if it works as advertised -- and properly supports tracking multiple related svn branches and merges -- would be slick. That was enough to make me consider using git, but in retrospect, I so rarely interact with people using svn that it is not that big a deal to me.

Still, for those that have to work with svn users, this feature in bzr and git could be a big one.

Better yet would be to get all those svn holdouts over to DVCS.

3. Checkouts

A bzr checkout is basically a way to make local commits be pushed to the remote repo immediately, as with svn. This is of no utility to me, though I can see some may have a use for it. But it can be done with hg hooks and probably approximated with scripting in others.

4. No server-side process necessary for pushing repos

bzr has built-in support to push to a server that has sftp only, and doesn't require a copy of itself on the server. While I believe that none of the other three have that, it is possible to rsync (and probably ftp) darcs and Mercurial repos to a server in a safe fashion by moving repo files in a defined order. Probably also possible with git. All four can pull repos using nothing but regular HTTP.

What bzr still doesn't have

Integrated patch emailing. The big thing is that it has no built-in emailing of patches support. darcs is extremely strong in this area, followed by hg, and git is probably third. "darcs send" is all it takes to have darcs look at the remote repo, figure out what you have that they don't, and e-mail a bundle of changesets to them. I posted an extension and later a patchset that does all this for Mercurial except for automatically figuring out what default email address to do (that'll come in a few days, I think). One feature Mercurial has had for awhile that Darcs hasn't is sending multiple textual diffs as a thread, with one message per changeset. bzr doesn't have any support for emailing patches yet, which is disappointing. Because of the strong support for this in darcs and Mercurial, people running those systems feel less of a need to publish their repos.

[Update: There is a plugin for bzr that seems to address some of this. I haven't tested it, and it's not in bzr core (so doesn't quite meet my very friendly for a newbie requirement), but this does exist, though apparently not as advanced as Mercurial]

Performance. Supposedly 0.15 is supposed to be better on this, but even if bzr achieves the claimed doubling of performance, most benchmarks I have seen would rate it as still being significantly behind git and Mercurial, though it may overtake darcs in some tests.

Extensive documentation. I would say that bzr's docs are better in some ways than git's (its tutorials especially), but lack depth. If you want to know some detail about how the repository works on-disk, it's not really documented. Darcs still has David's excellent manual, and Mercurial has the hg book which is still great as well.

Merging not as advanced. darcs is pretty obviously way on top here, but of the others, Mercurial does a pretty good job with its automatic handling of renames and automatic resolving of different branches that commit the same change (even if that same change is a rename, or an add of the same content). bzr can't resolve as much automatically.

Summary

Well, I'll say that bzr still doesn't look compelling enough for my use cases to use, and the lack of an easy-for-a-newbie-to-use automated email submission feature is a pretty big disappointment. Though I did appreciate the time those on #bzr spent with me, and if I needed to sync with svn users frequently, I'd probably choose bzr over git.

For now, I'm happy with sticking with darcs for my code and hg for my Debian work.

But all four communities are aggressively working on their weaknesses, and this landscape may look very different in a year.

David Welton: Javascript hacking

I wouldn't have thought it several years ago, but I've actually been hacking on some Javascript, for Stuff to Do. My immediate need was to make the system work better with IE6, which had problems with the previous way of doing things, which involved big updates to large portions of the page. Now, with Javascript, I do most of the work that way, and rails only has to make note of the new task priorities in the database. In terms of UI changes, I also flattened the task boxes down just a bit, something that a user requested. Hopefully it's reasonably stable, as I will have very, very little hacking time until we are unpacked in our new place in Innsbruck!

22 March 2007

Neil Williams: gecko, nvidia, fonts and editing forms - Help!

I'm looking for inspiration - and for someone else with the same problem - to work out how to fix and/or report a long-standing problem with all Gecko-based browsers in Gnome with nvidia.

When editing text in a HTML form entry field, moving the cursor with the cursor keys results in horrid vertical lines: a b c 4 e which disappear when clicking elsewhere in the control but make editing VERY difficult. The vertical lines do not always appear between characters, they often overlay the characters, something I cannot represent here. I'll try a screenshot later.

It is definitely something to do with Gecko because Gtk does not suffer this problem (which is one reason why I use drivel for blog entries).

Galeon, Iceweasel and epiphany-browser are all affected.

One simple example is the Debian wiki - normal, uncomplicated text inputs, no special Javascript, but moving around the text in a control is almost impossible.

I've taken to cutting the text into gedit and pasting it back, which is a nasty hack.

Update: I've had comments since posting that indicate that this is likely to be a bug in the pairing of gecko and the free software nvidia driver which can be 'solved' by using the proprietary driver. I won't be doing that so a little more investigation is in order . . .

Russell Coker: power saving

Adrian von Bidder made an interesting post in response to my post about Spanish wind power. He correctly points out that power sources that have seasonal variations and which may vary during the course of a day can not be used as the sole power source.

The ideal design would be to have wind power stations that are designed to have a peak power that is greater than the expected use for the country. Then when wind power is slightly below peak the entire use for the country could still be satisfied.

There are a number of power sources that can quickly ramp up, this includes hydro-electric and gas-fired power stations. Such forms of power generation could be used as backup for when wind and solar power are limited. Incidentally one thing to note about Solar power is that it is most effective during the day in summer - which is when there is the highest demand for electricity to run cooling systems. There is also an option for having the sun heat up rocks which can be used for generating electricity at night or at periods of peak demand. So eventually we could have all our energy needs supplied by solar and wind power.

If wind power was designed to exceed the demand at windy times there are a number of ways that it could be used. The first thing to do is to implement billing systems that vary the cost according to the supply. This information could be provided to customers via X10 (or a similar technology). Home appliances could take note of this information and perform power-hungry operations when it's cheap. Your freezer could cool itself to -30C when electricity is cheap and allow the temperature to rise to -5C when it's expensive. You could program your washing machine to start when electricity becomes cheap - usually a few hours delay before starting the washing is no inconvenience.

Ideally home power generation from solar and wind sources would be used. There is significant loss in the power lines that lead from power plants to the consumer, so there are efficiency benefits in generating power locally. A wind turbine for a home will give highly variable amounts of power, and the electricity use of a home also varies a lot. So batteries to store the power are required. When you have local battery storage you could use your batteries to power your home when electricity is expensive and use mains power when it's cheap. Also if it was possible to feed power back to the main grid then home battery systems could be used to help power the main grid at expensive times (if the electricity company reimburses you for putting power back in the grid then you want such reimbursement to be done at the highest rate).

Adrian also mentioned turning devices off when leaving home. It is common practice in hotels that when entering your room you will insert your key in a holder by the door which acts as a master switch for all lights and some other electrical devices (such as the TV).

This same idea could be adopted for home use, not based on key storage (although this would be an option) but instead on a switch near the front door. Push a button and all lights turn off as do human-focussed appliances such as the TV and DVD player turn off (not the VCR), etc. There could also be a night option which would turn off the TV, DVD player, and most lights. Obviously at night you want bedroom and bathroom lights to still work but many things can be turned off.

This is all possible with today's technology, small changes to usage patterns, and spending a little more money on technology. Currently you can get a basic solar power system for your house for about $10,000. That isn't much when you spend $300,000 or more buying the house!

Russell Coker: thinkpad back from repair

On Tuesday my Thinkpad was taken for service to fix the problem described in this post.

The problems I described were overheating, wear on the keyboard (from a minimum of 8 hours a day 7 days a week use) and a missing rubber foot on the base. The statement of work includes a replaced system-board, keyboard, CPU fan, and "cover(s)" (not that I can see any difference in that regard). No new rubber foot. Also they upgraded the BIOS.

It's interesting to note that in the list of "diagnostics performed" they listed "HDD" - of course I removed the hard drive before giving it to them.

Anyway 2 days turn-around is pretty good service and I'll ask them to post me a new rubber foot so I can stick it on myself.

Update:
The IBM support team were quite helpful about this and now have a set of misc small parts being couriered to me - it may arrive tomorrow or Monday.

It's a minor annoyance that they didn't fix everything when they had it, but shipping me a set of small parts is great service. With a bit of luck I'll get some other parts that will be useful to me at some future time too. ;) My Thinkpad leaves warranty in a few months and I'll be on my own for all future repairs.

For the first time I am actually considering paying for extra warranty support. I think that I'm one of the more expensive IBM customers in terms of warranty support. I typically go through one keyboard and one system-board per Thinkpad that I own. I guess that IBM make the most money from managers who have laptops always sitting on their desk. People like me who take their laptops everywhere, use them extensively, and wear things out (doing what laptops are designed to do) would be less profitable.

Neil Williams: gecko, amd64, fonts and editing forms - Help!

I'm looking for inspiration - and for someone else with the same problem - to work out how to fix and/or report a long-standing problem with all Gecko-based browsers in Gnome on amd64. It might not be amd64, it's just that I don't get it on powerpc.

When editing text in a HTML form entry field, moving the cursor with the cursor keys results in horrid vertical lines: a b c 4 e which disappear when clicking elsewhere in the control but make editing VERY difficult. The vertical lines do not always appear between characters, they often overlay the characters, something I cannot represent here. I'll try a screenshot later.

It is definitely something to do with Gecko because Gtk does not suffer this problem (which is one reason why I use drivel for blog entries).

Galeon, Iceweasel and epiphany-browser are all affected.

One simple example is the Debian wiki - normal, uncomplicated text inputs, no special Javascript, but moving around the text in a control is almost impossible.

I've taken to cutting the text into gedit and pasting it back, which is a nasty hack.

Any ideas?

Alastair McKinstry: Dear LazyWeb: Openid in PyBlosxom

OK, Having agreed that Openid is a good idea to solve the multiple-login-issue, i've been looking at enabling it on the python-based projects I work with. Harder than it looks, for no apparent reason. Firstly, I've succeeded in enabling an Openid Server in my Pyblosxom blog. Just google to pyblosxom+openid+server and install. It works. Now I can log into openid sites with my blog address http://blog.scealnetworks.com. Alternatively, I can openid-enable the comments login on the blog by installing the openid comments plugin. Unfortunately this seems to conflict with the server above, and both seem to conflict with Debians python-openid. All three seem to have a common original codebase that has diverged, but I haven't had time to do any software genealogy and figure out which codebase is out of date. Any ideas anybody ? (other than emailing everyone involved). Secondly, I'd like to share the logins with my MoinMoin wiki. Again, a patch has been written for this, but to share the logins between pyblosxom and MoinMoin will need co-ordination. My current plan is to try and get all related openid sites to share /srv/www/openid-store on the server to share identities. This'll need patches, and probably justify making Debian packages out of the plugins. Finally, I'm working on a Plone website for IFAS, for observation tracking and co-ordination (see aop.irishastronomy.org and aop-test.irishastronomy.org if you're interested). Here, all the users already have logins on a related system in PHPBB on a different host. It would be nice to integrate them : query the SQL database on the PHPBB site? give them openid identities from the PHPBB machine?

Simon Richter: Early rising and spring cleaning

In the last weeks I've focused more on doing things than writing about them. I've (for the most part) managed to become an early riser, getting up at 5 o'clock each morning, and gotten a number of things sorted in the two hours between breakfast and going to work. The time for this got taken away from the part of the evening where I'm too tired to do anything meaningful and so end up reading emails. This, of course, means that I will have less time for reading mail, and so I've changed my mail setup so that list mail no longer goes into my inbox. This was long overdue, and it is a good thing that the blue "message" LED now only lights up for mail addressed to me (and spam, but I'm going to deal with that later).

Andrew McMillan: Seamless Monitor Hotplugging with X Windows

There are times when you want to track the bleeding edge of a particular project, and having a new laptop is often one of those moments... I've recently bought an HP Compaq nx6320 and while most of it is working, one of the reasons I got it was because of Keith Packard's work on the RandR extensions for X. Well, I was definitely seeing this bug but with a small patch I can get the latest (experimental) packages for xserver-xorg-video-intel to work, and now with a few magic tweaks to my xorg.conf I can make my desktop expand to another monitor when I unsuspend at work, and contract back to just the laptop screen when I resume somewhere else. The Magic Expanding X Config First of all, when I got the driver to actually work, xrandr explained to me that my maximum resolution was 1400x1400:
Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1400 x 1400
VGA disconnected (normal left inverted right)
LVDS connected 1400x1050+0+0 (normal left inverted right) 305mm x 228mm
   1400x1050      60.0*+
   1280x800       60.0  
   1280x768       60.0  
   1024x768       60.0  
   800x600        60.3  
   640x480        59.9  
TV disconnected (normal left inverted right)
Using a few clues from Ross Burton I managed to get that "maximum 1400x1400" to increase. The trick is to add a "Virtual" setting for screen size into your "Screen" Section, like so:
Section "Screen"
        Identifier      "Default Screen"
        Device          "Intel 945GM/GMS/940GML"
        Monitor         "Laptop Panel"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Virtual         2680 1050
        EndSubSection
EndSection
The downside of this is that if you set the width greater than 2048 (as I have here) then DRI won't work, so you won't get 3d stuff. I guess I can manage without ice-cream, just so long as I get my cake! Once I have the "Virtual" setting, when I resume at the office I can:
xrandr --output VGA --mode 1280x1024 --pos 1400x0
And then when I resume somewhere without the external monitor, I can:
xrandr --output VGA --off
Quibbles All of these features are kind of under development, but Xorg 7.3 will support this stuff, and then Gnome and suchlike will have to start thinking about how to deal with it. The dynamic screen changing is not something these environments are completely ready for. One example is that while I know that monitor is always on the RHS of my docking station, X wants it to be the primary monitor and Gnome moves both panels onto that screen. Perhaps that's not a choice that can be made automatically. Someone who had an external keyboard plugged into their docking station might want the opposite behaviour, and there is certainly no way the environment can magically know whether that monitor is left or right of my laptop screen. Eventually I expect that Gnome will recognise this monitor, and will make the panels and location automatically set the RandR environment to match the way I set it last time. It is also somewhat annoying that I have to actually choose the virtual size. No doubt this configuration will disappear in due course and it is not really surprising to see it for something which is admittedly quite bleeding edge! I noticed at LCA that Keith had his own screen set for a Virtual size of 2048x2048, and now I know why: that's the maximum size that is supported for DRI, so if I expand my desktop onto a 1280x1024 screen I'm going to have some overlap. In fact I could almost configure my external monitor to be above my normal screen and use it that way, but it would feel pretty weird I think. In the meantime I've gone back to "blank screen" for my screen saver which admittedly is currently the only application for 3d acceleration on my desktop. Remaining Problems with this Laptop The only outstanding issues for me with this laptop are: That's about the best Linux compatibility I have had for any of my last five laptops within a month of buying it. Most of them have had much more significant stuff less supported even after three years of use!

Adam Rosi-Kessel: Ralph s World, More Music For Children

For those who care about kids... I recently blogged about TMBG s marketing genius in releasing kids albums that adults who grew up to TMBG will love and buy. Another good example of kids music that you, too, can enjoy is Ralph s World. It's not quite as ironic or odd as TMBG, but still a good listen. Check out, for example, the RealAudio clips for Clean-Up (much better than the Barney version!), Baa-Baa Black Sheep, and The Coffee Song. Speaking of Barney, apparently his music has been used to torture Iraqi detainees. Technorati Tags: ,

21 March 2007

Wouter Verhelst: OpenID

I figured this new shiny OpenID thing was cool enough to start using it. There's just this one problem: I didn't want to have to go through the "register on a website and remember yet another password" dance once more; and since I have this marvellous Kerberos realm set up which works for authenticating against my webserver, too, why not use that? So I downloaded the JanRain PHP OpenID library, and went hacking. It's not all that hard, really:
diff -ruN ./lib/actions.php /svr/www/openid.grep.be/data/lib/actions.php
--- ./lib/actions.php	2006-12-08 23:56:22.000000000 +0100
+++ /svr/www/openid.grep.be/data/lib/actions.php	2007-03-08 14:18:32.000000000 +0100
@@ -88,17 +88,24 @@
     if (!isset($input['openid_url']))  
         $errors[] = 'Enter an OpenID URL to continue';
      
-    if (!isset($input['password']))  
-        $errors[] = 'Enter a password to continue';
+    if (!isset($input['password']) && !isset($_SERVER["REMOTE_USER"]))  
+        $errors[] = 'Enter a password to continue, or log in using an ' .
+			'apache logon method';
      
     if (count($errors) == 0)  
         $openid_url = $input['openid_url'];
         $openid_url = Auth_OpenID::normalizeUrl($openid_url);
-        $password = $input['password'];
-        if (!checkLogin($openid_url, $password))  
-            $errors[] = 'The entered password does not match the ' .
-                'entered identity URL.';
-         
+	if(isset($_SERVER["REMOTE_USER"]))  
+	    if(!checkUser($openid_url, $_SERVER["REMOTE_USER"]))  
+	       $errors[] = 'The apache user does not match the openid URL';
+	     
+	  else  
+           $password = $input['password'];
+           if (!checkLogin($openid_url, $password))  
+               $errors[] = 'The entered password does not match the ' .
+                   'entered identity URL.';
+            
+	 
      
     return array($errors, $openid_url);
  
@@ -166,4 +173,4 @@
     return sites_render($sites);
  
 
-?>
\ No newline at end of file
+?>
diff -ruN ./lib/render/login.php /svr/www/openid.grep.be/data/lib/render/login.php
--- ./lib/render/login.php	2006-12-08 23:56:22.000000000 +0100
+++ /svr/www/openid.grep.be/data/lib/render/login.php	2007-03-08 14:53:56.000000000 +0100
@@ -3,6 +3,7 @@
 require_once "lib/session.php";
 require_once "lib/render.php";
 
+if(!isset($_SERVER["REMOTE_USER"]))  
 define('login_form_pat',
        '<div class="form">
   <p>
@@ -31,6 +32,33 @@
   </form>
 </div>
 ');
+  else  
+define('login_form_pat',
+       '<div class="form">
+  <p>
+    Enter your identity URL into this form to log in to this server. This
+    server must be configured to accept your identity URL. Since you already
+    logged on through an Apache method, entering a password is not required
+  </p>
+
+  <form method="post" action="%s">
+    <table>
+      <tr>
+        <th><label for="openid_url">OpenID URL:</label></th>
+        <td><input type="text" name="openid_url"
+                   value="%s" id="openid_url" /></td>
+      </tr>
+      <tr>
+        <td colspan="2">
+          <input type="submit" value="Log in" />
+          <input type="submit" name="cancel" value="Cancel" />
+        </td>
+      </tr>
+    </table>
+  </form>
+</div>
+');
+ 
 
 define('login_needed_pat',
        'You must be logged in as %s to approve this request.');
@@ -62,4 +90,4 @@
      
     return sprintf("<ul class=\"error\">\n%s</ul>\n", $text);
  
-?>
\ No newline at end of file
+?>
diff -ruN ./lib/session.php /svr/www/openid.grep.be/data/lib/session.php
--- ./lib/session.php	2006-12-08 23:56:22.000000000 +0100
+++ /svr/www/openid.grep.be/data/lib/session.php	2007-03-08 14:34:49.000000000 +0100
@@ -129,6 +129,16 @@
  
 
 /**
+ * Check whether the logged-on user matches the specified OpenID URL
+ */ 
+function checkUser($openid_url, $user)
+ 
+    global $openid_user_urls;
+    return isset($openid_user_urls[$openid_url])
+        && $user = $openid_user_urls[$openid_url];
+ 
+
+/**
  * Get the openid_url out of the cookie
  *
  * @return mixed $openid_url The URL that was stored in the cookie or
@@ -202,4 +212,4 @@
 
  
 
-?>
\ No newline at end of file
+?>
It expects an array in config.php like so:
openid_user_urls = array(
	"http://wo.uter.be/" => "wouter@GREP.BE"
);
(in the case of kerberos; if you use a different authentication method, the syntax of that array will most likely be different, too) It's still not perfect; all my changes really do is bypass the password check if it notices that apache has already authenticated the remote user; but I still need to "log on" at the PHP level, which also requires me to enter my OpenID URL. A somewhat cooler implementation would pre-enter the OpenID URL in the form. A really cool implementation would not even show me the logon form, but go straight to the "logged on" state, using the OpenID URL as given by the consumer, and the information apache provides us on the remote user. But it's a start. Adding OpenID capabilities to my blog comment entry script is proving slightly more challenging, however. More on that later.

Ross Burton: GTK+ Secrets

In the last week or so I've discovered a couple of GTK+ tricks I didn't know, so I thought I'd share them.
  1. Control-Backspace in an entry deletes from the cursor to the beginning of the text. I had previously hacked up custom binding for Control-u, but this is bound by default. Thanks Emmanuale for pointing this out. Update: as proof that my fingers are still using C-u, Control-Backspace actually deletes a word and not the entire entry.
  2. Middle-clicking on a scroll bar will move directly to that point, instead of moving towards that point by a page. Very useful, I'm glad Mitch mentioned this in a bug.
NP: Didn't It Rain, Songs:Ohia

MJ Ray: Environment: A blog test (4)

CompWizrd commented:
"You can also get water faucets that are limited in the maximum temperature they'll put out.. it mixes in cold water as needed to keep the temperature down Far as I remember, they're required nowadays anyways.. Or maybe it was the pressure regulated ones.. those keep the temperature at a set level. Even if someone flushes the toilet, it will reduce the hot water coming in, to keep the temperature regulated."
I read somewhere that there's a maximum of 49C for new fittings in the USA, but I'm not sure there's a limit here in England yet.

MJ Ray: Online Banking: What works with GNU/Linux? (5)

One more day of comments to this and I think it will become the longest-running item on my blog. Thanks to everyone who's helped so far. Added: BW-Bank, Etrade, ING Direct, Nordea, RBC Banque Royale, Swedbank Updated: Cooperative Bank (business) Linked to other lists: Australia and New Zealand, Denmark, Germany, Worldwide

20 March 2007

Ben Armstrong: live-helper progress

Now that live-helper1 has superceded live-package I have a config for the junior livecd work-in-progress in the debian-live repository:
sudo apt-get install live-helper
svn co svn://svn.debian.org/debian-live/configs/junior
sudo make-live --root junior &>make-live.log
This will build a usb image for the gnome-junior package list. If you want a regular iso image or want to try the kde-junior or xfce-junior lists, just make the appropriate changes in config. I have tested the usb image on a 1G usb key. At this point I’m not layering on customizations, but am focusing on basic usability issues: X autoconfiguration, sound, menus, etc. Once I’m happy with these I’ll move on to the kinds of customizations we’d like to make for children.

1 live-helper is still in NEW at the moment. I’ve been checking it out from svn and building the package myself, though you can also get Daniel’s packages from his site. My config should work with a2-1 or later.

update For the time being it is best to stick with live-helper from svn, as my configs are being developed to work with trunk, which is still in flux (e.g. config variables are renamed without notice, etc.)
svn co svn://svn.debian.org/debian-live/dists/trunk/live-helper
cd live-helper ; debuild -us -uc

Benjamin Mako Hill: PHLanthropy

Last week, I had planned to travel from Boston to Tampa with a connection in Philadelphia. I landed in Philadelphia without a problem but an ice storm descended on the airport and, after five hours of our flight's departure time being pushed back, the entire airport was closed and all flights for that day were canceled. When I arrived back at PHL the next day, two hours before the scheduled departure of my flight home -- my trip to Tampa was, by this point, called off entirely -- the airport was in chaos. Flights were still being canceled, airport information displays were inaccurate or switched off entirely and stranded travelers were everywhere. US Airways had deactivated the automatic ticket machines and there were thousands of people in scores of lines hoping for new tickets and assistance. But unlike the day before, we all knew that planes were theoretically going to be leaving and that, stuck outside, we were not going to be on them. People wanted boarding passes and they wanted them desperately. But the lines were not moving and nobody -- or almost nobody -- was going anywhere. Meanwhile, the four teams of TSA workers at the security station were standing idly talking to themselves like attendants at a light night gas station. The only people inside the terminal were those that had slept there or flown in that morning. After finding the end of a line, I asked someone what their line was for. Nobody knew, but each hoped it lead to someone who would assist with their particular problem. Usually they merely wanted to check in. Several people I asked had been waiting in line for five hours that morning only to find out that their line was, in fact, not a line at all but merely a mass of people leading nowhere or simply dissolving into other lines. Nobody knew what else to do so, I, like everyone else, queued up and hoped for the best. An impeccably dressed and obviously wealthy woman asked what I was in line was for. I told her that I didn't know but, like everyone else, hoped it would lead to a boarding pass. She wanted the same thing. She asked if there was a separate queue for first class and I pointed out that it seemed unlikely, in the chaos, that first class was getting special treatment. I pointed out that I also had a first class ticket -- it was the only seat available when the harried agent rebooked me the day before and I had not paid extra for this, but I did not tell her this. She nodded to me in camaraderie. She stood pensively next to me for five minutes and then fumbled for her wallet and ticket. She asked me if I would hold her place in line and I agreed. Five minutes later she reappeared with a boarding pass in her hand. Surprised, I asked her how she had obtained it. She stated, quietly so as not be overhead by the other would-be passengers but matter of factly, that she'd found a baggage handler and flashed a twenty dollar bill and her itinerary. She mentioned that the man she had paid had left but that, "any of them will do it." Sure enough, I was in the terminal less than ten minutes, and twenty dollars, later. Despite growing up partially in the third world, I've only personally bribed a person once before -- also in the United States. Like my previous experience, I didn't feel good about buying my way out of what seems to have, in fact, devolved into a racket. I have spent a lot of time reflecting on the situation and my action in the last several days. Everyone, or nearly everyone, outside the Philadelphia airport terminal had twenty dollars and most of them would have happily paid it to escape their predicament. The reason that most people did not pay off baggage workers is not because they found it prohibitively distasteful, although certainly some of them would have, but because most of us, and I include myself, would have spent the whole day frustrated, desperate, and standing line after line without even considering a bribe as an option. While we know it on some intellectual, reflective level, the vast majority of us do not, in practice, imagine that we can use money as a way to manipulate people into special treatment. As a result, even in situations like that morning in Philadelphia, I simply don't even think of the twenty in my wallet as a way to solve my problem. It's true that wealthy people, like the woman in line behind me, get what they want because they can pay lots of money for products and services. But it is not quite this simple. Some wealthy, powerful people get what they want in part because they think to use money in ways that the rest of us do not. Perhaps this is because this type of spending is frequently not an option for most of us or, we tell ourselves, perhaps even truthfully, because we find it distasteful and immoral. The difference between being inside or outside the terminal last Saturday was not about having or not having money. It was, in fact, about having a particular relationship to money and, through money, to other people. It was not about the value conferred by money but about a set of values that can result from having it in abundance.

Next.

Previous.