Search Results: "reg"

25 March 2007

Joachim Breitner: My Debian Project Leader Vote

The Debian project is having it s annual vote for the the post of the Project Leader, a mostly representative and medidative post. Here is my ballot:
[ 6 ] Choice 1: Wouter Verhelst
[ 7 ] Choice 2: Aigars Mahinovs
[ 5 ] Choice 3: Gustavo Franco
[ 1 ] Choice 4: Sam Hocevar
[ 3 ] Choice 5: Steve McIntyre
[ 2 ] Choice 6: Rapha l Hertzog
[ 4 ] Choice 7: Anthony Towns
[ 6 ] Choice 8: Simon Richter
[ 6 ] Choice 9: None Of The Above
I voted for Sam first because he has some fresh ideas and takes it not too serious after all, working on Debian should be fun. Next is Rapha l Herzog. He got the big plus of some good people on the prospective DPL board and I know he is doing some good stuff with regard to collaborative maintenance, e.g. in pkg-perl. I d then rank the current DPL and his Second in Charge equally. They didn t do anything particular bad (besides maybe the dunc-tank-experiment, but I m not blaming that failure entirely only on them), and continuity is normally a good thing. Well, just for fun, I ll give the advantage to Steve. Gustavo has a lot of ideas, and I m not sure how realistic they are. I ll still prefer him to nothing, so he is ranked next. I don t know enough about Simon and Wouter to really vote for or against them. Aigars plans though, despite knowing him personally, are not the right for a DPL post, so sorry, that puts him below NOTA.

23 March 2007

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.

22 March 2007

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.

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.

Paul van Tilburg: Technical Stuff

Hobix There were some issues concerning Hobix and the new Ruby (1.8.6) that entered Sid recently. I’ve solved the problem, as you can see, and uploaded a Subversion snapshot package to experimental. Update: It seems that hobix 0.5~svn20070319-1 accidently was uploaded without share data. This was spotted and fixed by Arnaud, thanks! A new version (0.5~svn20070319-2) is on its way to experimental! Ruby D-Bus A few weeks ago I wrote to Arnaud Cornet about the fact that it is quite amazing that there is no up-to-date implementation of D-Bus for Ruby at all after such a long time. This resulted a few days ago in our Ruby D-Bus project. Some stuff is working already, quite low-level still, but really nice. I’m looking forward to designing the high-level API. I found out that other people had the same thoughts as us and also started to work on an implementations on their own without telling anyone. So, it seems there are three implementions now (as far as I know) that all have specific features working. I hope we can merge everything into one project. We’ll see what happens… OpenID I have taken some interest into OpenID, having to register some accounts on arbitrary forums. I ran into the fact that Rails recently got OpenID support and that support for phpBB is coming up, which is nice. Finally it could be over with all the logins and all the password. At the moment I haven’t found a statisfactory identity provider yet, so I started working on my own service. Ruby OpenID has an example server implementation which I am working on to become FLOIDS: the Free Luon OpenID Service. Koditoj Recently, I inventoried all the programs I authored or co-authored in the past 8 years. There is some stuff in there that maybe deserves a second life or at least some description. So, in a series of posts that I’ll call ‘Koditoj’ (free translatable from Esperanto to ‘things that have been coded’) I want to go over all these programs and libraries and give them some attention. More to come soon…

Erich Schubert: Java inconsistency

Using Sun Java 1.5.0_11:
final SimpleDateFormat almostXsDateTime=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
System.out.println("One: "+almostXsDateTime.format(c));
c.set(GregorianCalendar.HOUR_OF_DAY, copy.get(GregorianCalendar.HOUR_OF_DAY));
System.out.println("Two: "+almostXsDateTime.format(c));
IMHO, the get/set combo shouldn't be changing the date... but:
One: 2007-05-17T00:00:00.000+0200
Two: 2007-05-17T02:00:00.000+0200
(I'm not yet sure under which exact cirumstances this happens; it doesn't happen always...) P.S. the format is called "almost XSDateTime", because it's just almost XML Schemas DateTime format. Unfortunately, the Java date parsing and writing classes can't handle XML Schema DateTime (or ISO 8601) because of a tiny little detail: they use a colon in their timezone offset. How annoying is that, that java can just almost handle this ISO date format? P.P.S. so apparently Java is adding the ZONE_OFFSET to the date in this situation; it likely is related to locales and timezones.

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.

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

MJ Ray: Environment: A blog test (3)

More feedback on the water heating. Rafael Villar Burke wrote:
"Most regulations already mandate that. This requirement conflicts with how performant are low temperature heating systems, as most solar ones... so, to be safe, they're less efficient."
Joe Buck commented:
"If you have small children, and set your hot water heater at 60C, expect to take them to the hospital with second-degree burns on a regular basis."
Even if it was 60C at a tap, it will still take 6 seconds to burn, according to Burn Safety: Hot Water Temperature, but I was talking about storage tanks, not a water heater. Sorry if that was unclear. After running around the house floors and walls to get to a tap from the storage tanks, it's never going to be at 60C unless your pipes are super-insulated or your water flow is very fast (unlikely, as most tank-fed systems won't have much head).

19 March 2007

Evan Prodromou: 28 Vent se CCXV

We're spending the week in Surfside, TX enjoying a bit of post-SXSW de-connectivity before plunging back into the fray. I'm catching up on some software projects for Wikitravel and some other projects as well. It's pretty fun. Surfside is really beautiful -- fine white sand, gentle waves from the Gulf, flocks of brown pelicans passing by our deck in the morning. There's been some damage to the village due to Hurricane Rita and long-term erosion, but it's still really fun. And not particularly over-run, even during Spring Break this weekend. We've got a few hundred yards of beautiful beach in front of our house practically to ourselves. The downside has been that the vacation home we rented doesn't have the WiFi coverage we'd hoped for. We had the Mayor of Surfside (!) over at our house yesterday trying to set up a directional antenna so we could get a bitstream from the volunteer fire department, but no luck. So I'm doing updates at the restobar on the main street, and then editing offline at home. It's been great playing in the sand and waves with Amita June. This is her first time really playing on the beach, and she's having a great time. tags:

Montreal Gazette article A few weeks ago I met with local reporter Steve Faguy about Wikitravel, living in Montreal, and wikis and technology in general. He wrote a great profile of me and Wikitravel, a sidebar about my blog (!), a description of wiki and a list of good wikis. I like the story; it's well-written, and Steve knows enough about technology to write a good article while still making it accessible for non-professionals. I also like the image of me; that's a pretty good shot of me. The one omission I am kicking myself for was failing to note that Montreal will be the location of not one but two Wiki conferences this year. RoCoCoCamp is 18-20 May, and WikiSym is in October. Ray King calls Portland (Oregon) "Wiki City, USA", but I think Montreal is giving it a run for its money on the international scene. tags:

Twitter 2007 == Friendster 2003 So, I'm really concerned about Twitter's performance and stability problems since SXSW. Remember Friendster, the social networking platform of 2003? The site failed to support a surge of traffic in mid-2003, about a year into the service. The deluge of users meant that pages wouldn't serve, images timed out, and edits were impossible. Consequently, the social networking market was fractured as users went to smaller services like Tribe.net, MySpace, Orkut and LinkedIn. The other services might not have all your friends on them, but at least they worked. It was a phenomenal fumble by Friendster that was entirely attributable to failure to scale. Would other social networks have come up anyways? Probably. But there's a network effect to social networking, and people would probably have stuck with Friendster a lot more than they actually did. I think Obvious Corp. has got to get on the ball if they're going to capitalize on the success of Twitter. There's a similar network effect advantage for Twitter-like services, and if they can execute well, they're going to Pwn. But the software and interface are pretty easy to replicate, and there are other services like Twitter out there already. Better keep an eye on your lunch, fellas. tags:

Ian Murdock: Joining Sun

I saw my first Sun workstation about 15 years ago, in 1992. I was a business student at Purdue University, and a childhood love for computers had just been reawakened. I was spending countless hours in the basement of the Math building, basking in the green phosphorescent glow of a Z29 and happily exploring every nook and cranny of the Sequent Symmetry upstairs. It didn’t take too long to discover, though, just a short walk away in the computer science building, several labs full of Sun workstations. Suddenly, the Z29 didn’t have quite the same allure. A few months later, I walked over to the registrar’s office and changed my major to computer science. (OK, advanced tax accounting had something to do with it too.) Everything I know about computing I learned on those Sun workstations, as did so many other early Linux developers; I even had my own for a while, after I joined the University of Arizona computer science department in 1997. But within a year, the Suns were starting to disappear, replaced by Pentiums running Red Hat Linux. More and more people coming through university computer science programs were cutting their teeth on Linux, much as I had on Sun. Pretty soon, Sun was increasingly seen by this new generation as the vendor who didn’t “get it”, and Sun’s rivals did a masterful job running with that and painting the company literally built on open standards as “closed”. To those of us who knew better, it was a sad thing to watch. The last several years have been hard for Sun, but the corner has been turned. As an outsider, I’ve watched as Sun has successfully embraced x86, pioneered energy efficiency as an essential computing feature, open sourced its software portfolio to maximize the network effects, championed transparency in corporate communications, and so many other great things. Now, I’m going to be a part of it. And, so, I’m excited to announce that, as of today, I’m joining Sun to head up operating system platform strategy. I’m not saying much about what I’ll be doing yet, but you can probably guess from my background and earlier writings that I’ll be advocating that Solaris needs to close the usability gap with Linux to be competitive; that while as I believe Solaris needs to change in some ways, I also believe deeply in the importance of backward compatibility; and that even with Solaris front and center, I’m pretty strongly of the opinion that Linux needs to play a clearer role in the platform strategy. It is with regrets that I leave the Linux Foundation, but if you haven’t figured out already, Sun is a company I’ve always loved, and being a part of it was an opportunity I simply could not pass up. I think the world of the people at the LF, particularly my former FSG colleagues with whom I worked so closely over the past year and a half: Jim Zemlin, Amanda McPherson, Jeff Licquia, and Dan Kohn. And I still very much believe in the core LF mission, to prevent the fragmentation of the Linux platform. Indeed, I’m remaining in my role as chair of the LSB—and Sun, of course, is a member of the Linux Foundation. Anyway. Watch this space. This is going to be fun!

Erich Schubert: Swing rules the world

Roger Cicero will be going for germany to the Eurovision song contest. With his song "Frauen regier'n die Welt" ("Women rule the world"), which he sings with the impression of being able to himself rule any woman. :-) His mix is very uncommon: it's swing, but with german lyrics, about love and life, flirting and with a well-dosed amount of macho in it, but not serious but always joking and cool. YouTube has some video clips with his music. Note that I don't think "Frauen regier'n die Welt" is his best song. Scroll down at least to "Murphys Gesetz" ("Murphys Law", and congrats for not incorrectly adding an apostrophe, it's correct this way...) Last.FM has some excerpts from songs I like better. I don't know if 'we' have any chance with him (last years' winner was Lordi, some 'schocker' hard-rock-heavy-metal band dressing up like halloween monsters), but he won't come out last for sure. Demographics of the Eurovision contest aren't too favourable for germany, nor are are European relations. But being a swing dancer, this is just really cool, because it gives my hobby a wider audience. :-) P.S. If you want to learn Swing dancing in Munich: the Lindy Hop course at Boogie-Bären starts again this tuesday, and I can also recommend the classes of Swing and the city (thats Cat and Chris); there is a beginners and intermediate workshop next weekend with world champions Markus & Bärbel together with Cat and Chris. And of course every monday there is a teaser class at Cord. P.P.S. I'd really love to see Roger Cicero perform together with some good Lindy dancers as show act. Probably a different song then, though.

18 March 2007

Erich Schubert: Enhanced network monitoring

So far, all network monitoring solutions I've tested suck. What I'm looking for is a network monitoring solutions, which Pretty much every monitoring solution I've seen so far is great at collecting tons of data, but doesn't help me with actually handling this amount of data. Anyone has a recommendation for a good network monitoring tool? I'd be really interested in doing the last point - a real statistical analysis for network monitoring. This would be so useful... predicting peaks in network usage, predicting when a system will be overloaded or a disk full... but I'm phasing out of network administration; so my interest here is mostly in being able to give advice to others. [Update: no, you don't need to point me to Cacti. It's just another grapher and data collector that doesn't actually do what I would call 'monitoring'. It also seems to not have a smart scheduler, and is written in PHP (which is bad!) I was also told a non-success story with OpenNMS which just crashed when adding a host to be monitored with a totally unhelpful stack trace. I had a look at their online demo, but it felt very complex and not very useful to me...]

Russell Coker: Debian and Google Summer (Winter) Of Code

Debian is participating in the Google Summer Of Code (or Winter if you are in the southern hemisphere).

It would be good if we could get a SE Linux related project in. If you are interested in doing some SE Linux work (or other security related work) in this regard then please let me know. I'm interested in helping mentor for such projects.

Dirk Eddelbuettel: 2007 March Madness Half Marathon in Cary

Ran the annual March Madness Half Marathon in Cary, IL, today. Really nice morning with temperatures just above freezing, but gloriously sunny and no winds which made for excellent running conditions. As I somehow managed to leave my Garmin GPS at home, I had to run with little information about pacing and relative speed -- all I got were times announced at about two thirds of the mile markers. So I ended going out somewhat fast, and then working hard not to completely crumble. The end result was rather nice: 1:31:30.4 -- or a pace of 6:59.11 per mile -- and over a minute faster than my previous PR at this distance from last summer, and over four minutes faster than last year's March Madness. Needless to say, I am tired now :) But I guess it shows that the ongoing training for Boston in four weeks is doing some good. Kudos to Greg for a nice training schedule.

Russell Coker: BLUG

This weekend I went to the Ballarat install-fest, mini-conf, and inaugural meeting of the Ballarat Linux Users' Group (BLUG).

This was the second install-fest, the first one was quite successful so it was decided that there was demand for a second. I suggested that what we should do is get some of the more experience members of LUV to attend and give talks about their areas of expertise and make a mini-conference. I also suggested that we
hire a large vehicle to take a number of people to the meeting. Both my suggestions were accepted.

So on Friday evening I was in a Kia XXX with five other people from LUV on our way to Ballarat.

On Saturday we had the install-fest. We started at about 10AM, there were about a dozen people getting help installing Linux and many more attending the mini-conf and just hanging out. For lunch we had a BBQ. In the afternoon I gave a talk on SE Linux and then a brief impromptu talk on Poly-Instantiated Directories while the next speaker was setting up their laptop.

At the end there was the inaugural meeting of BLUG. The president was appointed, and there were some brief discussions about when to schedule meetings. I suggested that BLUG meetings should be either the day before or the day after LUV meetings to increase the incidence of speakers from other regions attending both meetings, my suggestion was being seriously considered at the time the meeting adjourned - LUV is a larger group and has better ability to get speakers from other regions. It was also agreed that a
weekend combined LUV and BLUG meeting would be arranged twice a year.

I traveled back to Melbourne by train which was cheap at $9 and comfortable. There was even a power point in the carriage (which I didn't use as my laptop was charged and the location was not convenient). For the next such event I'll try and arrange a group to travel on the train together.

The next thing to do is to find other regional centers in Victoria where we can do the same thing. Bendigo might be a possibility.

Also if you are a member of a LUG in a city please consider the possibilities for helping form a LUG in a regional center that's nearby. I would be happy to provide whatever advice I can to help people replicate this success in areas surrounging other cities, so please email me if you have any questions.

17 March 2007

Daniel Burrows: Package management usability

[UPDATE: I'm closing comments on this post, because the spammers have discovered it -- dnb]

Lars says:


The uncomfortability of Synaptic may be partly due to the fact that it is
a different model from Windows: you get all your programs from one place,
instead of anywhere on the Internet, partly due to just not using Synaptic
much at all, and partly due to Synaptic not being perhaps as easy to
understand as possible. I personally find Synaptic to be very nice, and
use it regularly, but I am biased by having used Debian package managers
for over a decade.


Now, synaptic is a lot nicer for users than scary console frontends like aptitude. But it's really a tool for "power users". Here's a quick list just of what I see when I start it (bearing in mind that my UI design skills suck):



So much for superficial observations. There are a few more things that I see that are worth more discussion.

Mechanics of selecting packages

To change the state of a package, you click on the unlabeled little box to its left, then select the correct option from a list containing "Unmark", "Mark for Installation", "Mark for Upgrade", "Mark for Reinstall"...you get the idea. Even if only one option is valid, the menu still appears with all but one option grayed out, and you have to select the one you want.

This is complicated, cumbersome, and surprising. It also introduces terminological confusion, since "Unmark" isn't really what you think of when you go to cancel an installation or whatever.

The best option I can think of here is a pulldown menu (which I believe the GTK+ list widget (god, I almost wrote "control") supports). The menu should default to the current state, e.g., "not installed", and should have options that describe what will be done with the package, e.g., "install", and so on. Only valid actions should appear on the menu. The Package menu should probably adapt in the same way as you select packages. I don't recall offhand how GTK+ menus work, but if possible commonly used commands like "remove" should be closer to the mouse when the menu appears than uncommon commands like "reinstall".

Another choice I can see, if you want to avoid menus, would be something like this: have two checkboxes, one for "install" and one for "upgrade". "install" would be checked for installed packages and not checked for not-installed packages. Checking or clearing it would mark packages for installation or deletion. "upgrade" would mark or unmark packages that were installed for upgrade. Of course, this introduces a redundant column for not-installed packages, which I don't like. It also seems to me that it would be less obvious what's going on for new users. But it would be more efficient for power users (who should all be using aptitude anyway ;-) ).

Progress bar madness

I haven't extensively used synaptic, but several core misfeatures of apt and our archive pretty much guarantee that if it displays progress bars for key operations like loading the cache or updating the package lists, the progress bars either run multiple times (i.e., don't actually tell you how close to finishing you are) or actually go BACKWARDS -- yes, BACKWARDS.

The great package hunt

Maybe the biggest problem is that unless you know what package you're looking for, basically all our package interfaces are useless. There are lots of fancy searching features you could add, but actually a quick test in synaptic suggests to me that this would be going in the wrong direction. Unlike aptitude, synaptic includes descriptions, and searches for stuff users might actually want (like, say, "burn CD") seem to turn up relevant results (i.e., software that burns CDs).

I'm sure the search algorithm could be improved (with inexact matching, better indexing (a package description suffix tree?), etc), but the big problem I see is that you tend to get back several dozen results, many of which are libraries, development packages, command-line software or software that doesn't work; some of the other software is software that can burn CDs but whose purpose is not to burn CDs (e.g., backup software).

How can we solve this? The first thing that springs to mind for me is to use popularity-contest data to weight the list. I know it's not terribly accurate, and it has some skewing problems (stuff in the default install will be favored), but I suspect it would greatly bias the results in terms of software that's useful to many people (using the "recently used" tallies might especially help here).

I don't have many other good ideas on the searching problem; I've seen vague suggestions of counting reverse dependencies, but this doesn't seem like a good metric of useful software to me; trying to extract more information from the short and sometimes inaccurate package descriptions seems like a really hard problem to me. (Google can do cool statistical analysis partly because it has so much data to work with AIUI; even a single Web page typically has orders of magnitude more information than a package description)

Another issue is the problem of finding related software once you've installed one piece. We have "suggests" and "enhances", but they aren't exactly displayed in a prominent or easy-to-understand way by any frontend. I think it might be good to display a clickable list of suggested packages somewhere visible (e.g., at the top of the description box) when the user has selected a package for installation. We could even display a little bar, like on (eg) Amazon: "Debian suggests installing these packages..." ;-)

It might also be interesting (if this is considered acceptable; since the data is anonymous I don't see a problem) to analyze the popcon data to find out what packages are being installed in tandem. I don't know if we have enough information to do it, but it could turn out to be really useful to be able to click on a package and see other packages that are popular with users who installed that package. Going back to online stores again, those "other people who bought 'Types and Programming Languages' also bought 'Introduction to Category Theory'" links are amazingly useful, and something similar would probably be a big help in Debian.

Rodrigo Gallardo: Liferea 1.2.7 in experimental

For all of you that were clamoring to have 1.2 packaged, I’ve finally managed to tie up most loose ends. 1.2.7-1 is now available in experimental. The only problem that seems to remain is that it doesn’t build in kFreeBSD, because it is using network manager, which seems to be available only for Linux. I’ll correct that in a future upload. (Update: It’s been brought to my attention that packages.debian.org does not yet list the upload. If you encounter this problem, please just wait a few hours for the pages to be regenerated. The packages are already in the pool and they should hit your friendly neighborhood mirror in the next update, at the most.)

16 March 2007

Romain Francoise: Playing with Yahoo Pipes

I've started using Yahoo Pipes today, and it's pretty cool. I wouldn't go so far as to call it a "milestone in the history of the Internet", but there are a few interesting use cases. Say for example if you're an avid reader of Planet Debian and you don't like the French Revolutionary Calendar, then you can use Pipes to filter out entries whose title matches a French Revolutionary month and enjoy a 100% revolution-free Planet. Or you could split matching entries into a separate feed, or just use regexp replacement to translate them into something else, etc. The possibilities are endless.

There's also a handy Babelfish module, so you can create a pipe that takes Planet Debian, translates it to French, then back to English. Hours of fun!

MJ Ray: Environment: A blog test

This isn't all housing, but much is: seen via vitavonni A. Copy the list below to your own journal and:
Bold the actions you are already taking
Underline the actions you plan to start taking
Italicise the actions that don't apply to you B. Add one (or more) suggested action(s) of your own C. Leave a comment here, so that she can track the meme to your journal, and copy your suggested action(s) back to the master list. Update: the sodding original is only open for comments from livejournal customers. Silly. Very silly.
  1. Replace standard incandescent light bulbs with compact fluorescent light bulbs
  2. Choose energy efficient appliances
  3. Wash clothes in cold(er) water
  4. Turn the thermostat of your hot water tank down to 50C (125F) - I've put it to 60C, but it's not possible to go lower at present, thanks to stupid location of the tank meaning the hot water runs at least halfway round the edge of the house before getting to a point it needs to be hot. When I replace the water heating, this should be possible.
  5. Install a programmable thermostat (or turn the heat down over night and when you're out of the house)
  6. Register with the [Canadian Marketing Association's] Do Not Contact Service to reduce the amount of junk mail delivered to your house. - Substitute MPS. Must do this.
  7. Eat less meat (particularly feedlot beef) - but what's a feedlot?
  8. Walk, bike, carpool or take public transit as often as possible - I live in the countryside, yet still move large packages on my bike.
  9. Make sure you know what can be recycled in your area, and try to recycle as much household waste as possible
  10. Compost using an outdoor compost bin or an indoor vermicomposter
  11. Clean or replace filters on your furnace and air conditioner - air con would be evil here.
  12. Buy local, organic or fair trade food where possible
  13. Reduce air travel
  14. Wrap your water heater in an insulation blanket - it's got a spray-foam cover and the outside is cold to the touch. Wrapping the loft tanks in insulation jackets made a big difference.
  15. Use a clothesline instead of a dryer whenever possible
  16. Plant a tree - soon
  17. Buy fresh foods instead of frozen
  18. Keep your car tuned up and your tyres inflated to their optimal pressure
  19. Use biodegradable dishwashing liquid, laundry soap powder, etc.
  20. Drink tap water (filtered if necessary) rather than buying bottled water
  21. Turn the tap off while brushing your teeth
  22. Unplug seldom-used appliances and chargers for phones, cameras, etc., when you're not using them - well, I switch them off at the wall
  23. Plug air leaks and draughts around doors and windows with weatherstripping - need to fix a couple of windows, but it's beyond me and local tradesmen seem crap at responding.
  24. Switch from disposable to reusable products: food and beverage containers, cups, plates, writing pens, razors, diapers, towels, shopping bags, etc.
  25. Consider garage sales, Freecycle, eBay, or borrowing from friends/family before buying a new tool or appliance
  26. Reuse bathwater, maybe to flush the loo, water the garden, etc.
  27. Make sure your roof is well-insulated.
  28. Always wear a jumper/sweater and socks indoors unless it's warm enough outdoors to go without both.
  29. Run your vehicle on biofuel/sustainable fuels
  30. Set up a grey water barrel to use when clean water isn't necessary
  31. Put grey water on your garden immediately without storing it.
  32. Install tanks to collect rain-water from your roof for watering the garden, washing your car, etc.
  33. Don't keep windows open when your heater is on
  34. Turn off lights that you don't need
  35. Stop your engine when waiting more than 10 seconds
  36. Install a solar panel on your roof for water heating - who fits them in England? I hate roof-work.
  37. Ask your bank for an online-only account - I have one, but won't move the rest until they make it secure.
  38. Try to make more use of daylight
  39. Walk and run more - I'm not walking for the hell of it. Waste of energy.
  40. Wrap loft water tanks in insulation jackets where possible
  41. Lower the power consumption of your computer with cpudyn, device power managers and similar tools
  42. Use non-air-con ways to keep cool whenever possible

Next.

Previous.