Search Results: "spa"

21 June 2006

Michael Janssen: Refilling Laser Printer Cartridges

I have the pleasure to have a laser printer at home, which works great and is wonderful for printing everything from research papers to read to envelopes for sending. [info]ceilingsarecool uses it for taking things for proofing and research. While it was a slight trouble to set up with my Linux server, but works great now. Unfortunately while it was cheap as hell after rebate, the starter cartridge that it came with only prints off about 1,000 pages. Recently it started printing very light and shaking the cartridge wasn't working anymore, so I started looking for new toner. I found out quickly that one new toner cartridge costs as much as the whole printer itself, but my searches also turned up another option: refilling the cartridge that I have already. I figured I would take the chance, because it cost around $20 compared to the $80-90 for a new cartridge.

Yesterday I got the toner in the mail - it comes in a very small bottle with a small diagram and a little topper funnel. The process was fairly easy and straightforward. All I needed for tools that didn't come in the package was a Phillips and flathead screwdriver. The steps which I had to take:


  1. Setup the area - I put newspaper down all around the area I was planning to do the work. I didn't need that much space and I was very clean and didn't spill, but I still got toner on the paper I put down.

  2. Remove the side of the cartridge - this was indicated to me on the diagram that came with the new toner. There was one little clip which I had to push in in order to get the side off, and I had to pry the side off slowly with a flathead.

  3. Remove the toner plug - the toner plug was under the side panel I pried off in the last step, and also took a little coaxing with my small flathead. Starting at this step, I also put on a set of latex gloves so I wouldn't get toner all over my fingers.

  4. Open the toner - Open the top of the cap (mine came in a little bottle) and remove the safety seal (like on pill bottles). This got a little messy on my fingers to get all of the safety seal off. I also screwed the plastic funnel thing on.

  5. Pour the toner into the cartridge - If your cartridge is really empty it's not a problem to turn it over so you can put the bottle in at a 45 degree angle and then turn both the cartridge and toner bottle so that the toner is pouring out. I had to tap the bottle a little and shake them (while still together) to get the toner into the cartridge

  6. Put the plug and side back on - replace the plug and screw the side of the cartridge back on.

  7. Shake the cartridge to settle the toner - shake it about 3-4 times, while it's still over the paper. Some of the small dust-like particles came off for me when I shook the cartridge

  8. Clean up - throw away the toner bottle and the newspaper



I was thrilled to put the cartridge back into my printer and find that it printed just as good as before. Unfortunately this doesn't work forever - eventually the fusing barrel will wear out and start producing some of those other laser printer problems like lines and repeating patterns. Everything that I have read suggests that one cartridge of mechanical parts will work for about 10,000 pages. That means that I have about 2 more refills before this one runs out. Saving $50-70 every couple of months will make a big difference in the long run. I suspect that some of the toner cartridges that you can buy on line are "re-manufactured" much like this one, or possibly slightly more complicated (replacing a drum that's broken) so they might not work for as many refills as a new one.

Clint Adams: To serve, protect, and be FRIENDS with

I think the Sherriff's Department is looking at my myspace page, he said.

Jonathan McDowell: Stupid birds

I've just had a pigeon (I think) fly into my study window, making a rather large bang, and then fly off again. It's the first time I've notice this large a bird do it, but there have been several instances of something sparrow like doing the same. At first I thought it was some kids throwing something at it, until I managed to actually see the bird flying off again afterwards. Are their magnetic direction sensors adversely affected by all the technology in this room perhaps? :)

Jos Parrella: CNSL 2 Caracas

I flooded the Planet just by upgrading WordPress. So this weekend it’s happening in Caracas. The National Free Software Congress (CNSL) arrives to the capital in the second edition of the only nation-wide Free Software event. It will take place on Colegio Universitario de Caracas, in La Floresta, near the Indian Embassy, France Square and other nice landmarks of the city. The event is promoted by GLoVE, a national NGO which is currently organizing the CNSL and hosting several Linux User Groups (the whole list here in spanish, follow the links) including CHASLUG, the Free Software Users Group for the Young. I’m part of the group, but it’s currently run by three guys under 18. As in FLISOL Caracas, this will be a themed event featuring two days of conferences, keynote speakers, workgroups, expositions, installation festival and security related events. The first day is aimed to Free Software in Society, including presentations from government officials related to recent activities towards the Country migration. As Enrico pointed it in debconf-discuss and debian-project, some recent activities have been turning stronger the Free Software migration process in Venezuela. The announcement from the Department of Science and Technology of the mass capacitation of the citizens in the usage of computers featuring the Gnome Desktop Environment took everyone by surprise. Numbers are varying, being the more conservative around 400.000 people having their first computer relationship with Free Software, GNU/Linux and Gnome. Distribution? I haven’t see it yet, but most likely it will be Debian (the whole Department is using Debian) Saturday will also feature some conferences from community members about their experience on Free Software usage and how they can change the way people communicate and act with each other, specially noting the nationwide speech from Octavio Rossell about Free Software and GNU/Linux and the interesting presentation from Efra m M rquez-Arreaza on Business Models. Finally, on saturday, renowned economist Felipe P rez-Mart will be presenting his work Game Theory Applied to the Free Software Development Model. Sunday will be a hands-on day, like in FLISOL Caracas. The main speeches focus on development, featuring experienced programmers on PHP, Perl and Mono presenting Web and Desktop development tendencies in those programming languages. We will also feature an Ajax presentation and three workgroups about Linux Distributions, Web Development and Free Software and Education. On special guests, CNSL Caracas is proud to announce the visit of two fellow partners from IEEE Colombia: Erika Luque and Jeffrey Borb n from the District University of Bogot , and the special conference from Rafael N ez, who was apprehended in Miami, FL (US) for the massive attack of 679 servers in 2001, one of whom was the Air Force Training System in Colorado. He was also accused of attacking the Department of Defense servers and stealing confidential data from NASA. He made seven months of prision in Denver after declaring himself guilty of all charges and having the Judge to look on evidence of his work against child pornography with the Venezuelan CICPC. (more info in spanish) On the security side, Sunday will host the second Key Signing Party (guidelines in spanish here) and the first CACert assurance in Venezuela. We made the first KSP in CNSL Aragua (where I had the opportunity to speak about Debian and make a hands-on session on Marvelous Debian) with about 10 people. This time we’re aiming to something between 25 and 50 people. This is the first event promoting security culture in our Country and hopefully it will have a warm welcome in the public. Caracas will also be the inflexion point of the Congress, which will now travel to the Eastern part of the Country, usually forgotten by all the hacktivists in Venezuela. In states Sucre, Monagas and Bol var people is ready to have their first contact with free software through this Congress and hopefully next year the Congress will have a venue in each state of the Country (including the two most inhabited by natives, Delta Amacura and Amazonas) If you’re in Caracas, you’re welcome to pass by after registering (it’s free as in who cares) and if you’re not, you’re welcome to listen to the streaming that will be announced here. See you there!

Jos Parrella: FLISOL Caracas: Ending

The Latin American Infest finally ended yesterday. In Caracas, it was a week of hard work with people of the Science and Technology Department and the IT Office (government offices) but the event in Caracas ended succesfully. It was a world-class event featuring renowned keynote speakers who spoke about Web Development using Frameworks (featuring TurboGears, Rails and Catalyst) and software development paradigms migration from privative platforms to GNU/Linux (Gambas and Mono). Other talks included basic security in Debian GNU/Linux and a speak about electronic signature security by an officer of the Venezuelan Government CA. We had a speak about Clusters, hosted by a female member of the Venezuelan Free Software Community and Debian User, and a speak about Free Software in the Venezuelan Education, by a 16-year-old Venezuelan GNU/Linux user and a willing Debian Maintainer. Of course, the Installation Festival took place in the Knowledge Square, in the Auditorium Building Lobby, with the extraordinary support of the Venezuelan Free Software Users Community. Debian GNU/Linux Sarge netinst and CD1 was distributed (several hundreds) as well as Knoppix and Ubuntu Hoary. Ernesto Hern ndez-Novich (maintainer) and me wore Debian T-Shirts on Saturday, and he made a great speech about the Project, named “Debian is inexorable“. We had demonstrations of Linux on a Mac Mini, using XGl and presenting several applications, as well as Debian running Enlightenment on an old Presario 1246 laptop. I would like to thank all the speakers and the attendees for making of FLISOL Caracas a great event. More information about FLISOL Caracas is in my blog and the homepage (spanish). Pics are here.

Jos Parrella: FLISOL Caracas

The Latin American Free Software Install Party (FLISOL) will take place in 12 countries of the continent, including Cuba, and featuring Argentina and Colombia. In Venezuela, it’s happening in ten cities in several regions of the Country, including Los Andes, Los Llanos, the Central Region and the Paraguan Peninsula. I’m organizing the event in Caracas, which already has a webpage (in spanish) FLISOL will take place on March 25th, a Saturday, but in several cities of Venezuela we will have a two-day event. In Caracas, it will happen on Friday and Saturday. We will feature hands-on workshops and demonstrations (featuring a Debian GNU/Linux hands-on workshop), a Keysigning Party (it won’t be massive, though) and a Web Frameworks and Application Servers Forum, featuring Rails, Catalyst, J2EE, and Zope. I expected David to be in Caracas for the FLISOL, but he’s gonna travel to San Crist bal to participate in their FLISOL. I don’t expect a big attendance to the event (the Auditorium of the Science and Technology Ministry, the main sponsor, has capacity for circa 200 people) but I hope it becomes a fresh event, different from those we’re used to. This will be, also, a good preparation for the World Forum on Free Knowledge, the National Free Software Congress and the DebConf. I hope the main topic on the FLISOL will be the recent, terrible, awful, and completely disgusting Ubuntu security flaw.

Adeodato Sim : Yay, bzr gives me enough rope to hang myself

I definitely like being given enough rope to hang myself. Life wouldn’t be fun without the challenge of trying to hang myself increasingly less often over the years. And Bazaar-NG has shown me today some of the good rope it can give, and I’m happy. This is about the annoyance that is, at least for me, having to type bzr diff -r 12344:12345 to get the diff introduced in revision 12345, instead of just bzr diff -r 12345 or similar. This happens on other VCSs, like CVS, Subversion, and Bazaar (or so I hear). For Subversion (as an anecdote), five months ago (January) I found out on IRC (thanks, peterS) that a -c option had been added to svn diff which did precisely that (commited 3 months before, in October). An improvment that would be released in version 1.4, due in about a month or so now (but six when I first heard about it, and nine after being implemented). For Bazaar-NG, it’s been today the day I’ve got annoyed enough by this issue (while peeking here, btw) as to search if there had been any discussion on this issue, and I found this six-month old bug. It seemed a bit dead, so I gave my opinion about the issue, and discussion seems to have started again. The good part comes now, though. I’m sure the bzr developers will give a solution to this problem: maybe sooner, maybe later; maybe the one I liked most, maybe not. But, the important thing for me is that I have, within hours of having felt frustrated, a solution that works for me: a plugin that wraps the diff command and interprets “-r N” the way I want. It may make the bzr authors shake their head (or not :P), but I certainly feel grateful for them having given me the possibility of doing it, and of being my responsibility whether to continue to use it in the future. Oh, you can find the crak here. Surprisingly compact. (Update: well, not that much anymore after reimplementing it in a non-dumb way.) NP: Paolo Conte, Via con me

20 June 2006

Jesus Climent: La pregunta es si el voto electronico esta preparado para los espa oles.

n/a

Aigars Mahinovs: Another blog move

Got access to a new, more powerful server, moved my blog from Mnemosyne to Wordpress, hopefully did not flood p.d.o, did not move the comments over yet. And not to flood the planet.d.o with the move I did this little change to the Wordpress feed - at the very end of the wp-atom.php file there is this line:
<?php $items_count++; if (($items_count == get_settings('posts_per_rss')) && empty ...
So I changed it to this:
<?php $items_count++; if ((($items_count == get_settings('posts_per_rss')) $post->post_date < 1150758000 ) && empty ...
Where 1150758000 is the UNIX time of some point between the last post from the old blog and the first post in the new blog. And I also imported my old posts entries from an Atom feed using the rss feed import as a base. The diff is after the break
--- rss.php 2005-12-28 22:24:12.000000000 +0200
+++ atom.php 2006-06-18 18:26:03.000000000 +0300
@@ -1,13 +1,13 @@
< ?php -class RSS_Import
+class Atom_Import var $posts = array ();
var $file; function header()
echo '<div class="wrap">';
- echo '<h2>'.__('Import RSS').'</h2>';
+ echo '<h2>'.__('Import Atom').'</h2>';
function footer()
@@ -21,8 +21,8 @@
function greet()
- echo '<p>'.__('Howdy! This importer allows you to extract posts from any RSS 2.0 file into your blog. This is useful if you want to import your posts from a system that is not handled by a custom import tool. Pick an RSS file to upload and click Import.').'</p>';
- wp_import_upload_form("admin.php?import=rss&step=1");
+ echo '<p>'.__('Howdy! This importer allows you to extract posts from any ATOM 1.0 file into your blog. This is useful if you want to import your posts from a system that is not handled by a custom import tool. Pick an Atom file to upload and click Import.').'</p>';
+ wp_import_upload_form("admin.php?import=atom&step=1");
function get_posts()
@@ -33,14 +33,14 @@
$importdata = implode('', $datalines); // squish it
$importdata = str_replace(array ("\r\n", "\r"), "\n", $importdata); - preg_match_all(' <item>(.*?)</item> is', $importdata, $this->posts);
+ preg_match_all(' <entry>(.*?)</entry> is', $importdata, $this->posts);
$this->posts = $this->posts[1];
$index = 0;
foreach ($this->posts as $post)
- preg_match(' <title>(.*?)</title> is', $post, $post_title);
+ preg_match(' <title [^>]*>(.*?)</title> is', $post, $post_title);
$post_title = $wpdb->escape(trim($post_title[1])); - preg_match(' <pubdate>(.*?)</pubdate> is', $post, $post_date);
+ preg_match(' <published>(.*?)</published> is', $post, $post_date); if ($post_date)
$post_date = strtotime($post_date[1]);
@@ -68,13 +68,13 @@
$cat_index++;
- preg_match(' <guid .+?>(.*?)</guid> is', $post, $guid);
+ preg_match(' <id>(.*?)</id> is', $post, $guid);
if ($guid)
$guid = $wpdb->escape(trim($guid[1]));
else
$guid = ''; - preg_match(' <content :encoded>(.*?)</content> is', $post, $post_content);
+ preg_match(' <content [^>]*?>.*?<div .*?>(.*?)</div>\s*?</content> is', $post, $post_content);
$post_content = str_replace(array ('< ![CDATA[', ']]>'), '', $wpdb->escape(trim($post_content[1]))); if (!$post_content)
@@ -85,6 +85,7 @@ // Clean up content
$post_content = preg_replace(' < (/?[A-Z]+) e', "'<' . strtolower('$1')", $post_content);
+ $post_content = str_replace('\n', ' ', $post_content);
$post_content = str_replace('<br>', '<br />', $post_content);
$post_content = str_replace('<hr />', '<hr />', $post_content); @@ -160,12 +161,12 @@
$this->footer();
- function RSS_Import()
+ function Atom_Import()
// Nothing.

-$rss_import = new RSS_Import();
+$atom_import = new Atom_Import(); -register_importer('rss', 'RSS', __('Import posts from an RSS feed'), array ($rss_import, 'dispatch'));
+register_importer('atom', 'Atom', __('Import posts from an Atom feed'), array ($atom_import, 'dispatch'));
?>

Martin F. Krafft: GPG keys expire

Today is 2006-06-20, and five years ago I created the GnuPG key pair that I have been using ever since. Possibly due to ignorance, I chose a key validity of one year and consequently stuck with that policy. Thus, every year on 20 June, I have to renew my master (signing) key and generate a new encryption key. And every year, on the days following 20 June, I will get several dozens (if not hundreds) of emails telling me that my key has expired, written by those who write emails faster than it takes to check for availability of the new key. Finally, my key now has hundreds of expired signatures, because it's GPG's default to expire signatures along with the master key. This year, I took a step back and reassessed the choice. The result is that I am not expiring my master key anymore, but I will continue to provide a new encryption key every year, which will be valid for just a little more than a year. Here are the reasons I found why you'd ever expire the master key:
  • the key is intended to be used only for a limited amount of time. This is not the case for me.
  • in case of loss of control and lack of revocation certificate, the key will eventually become unusable. First, I have a revocation certificate, and second, if I lose control over the key it should mean that someone figured out my passphrase, so could just extend the livetime of the key anyway.
And here are the reasons for the encryption keys:
  • if you do lose control over your key, all's lost anyway.
  • if an attacker manages to crack one key, s/he can only read communication of the year during which I used the key, but no past or future communication.
As always, I'd love to hear your input, and I'll post relevant follow-ups. In the mean time, please make sure you refresh my key:
gpg --keyserver subkeys.pgp.net --recv-key 330c4a75
wget -qO- http://people.debian.org/~madduck/gpg/330c4a75.asc.gz \
    zcat   gpg --import
(Note: you can always get my latest key from the above URL) You may also want to consider running gpg --refresh-keys from cron. I suggest doing so on a ghost copy of your keyring though and then to merge from there, or else you'll experience locking problems when trying to use the keyring at the same time.

Joerg Jaspert: Pictures and text from my Trip in Mexico

Finally Im done, and uploaded all pictures from my trip after DebConf. I also made some little .html files, describing parts of the trip, you can find that behind http://kosh.ganneff.de/~joerg/mexico/. All pictures are available behind http://kosh.ganneff.de/~joerg/gallery/mexico, if you really want to look at them. Sometimes there is a subdirectory bad/, I put pictures there I do not like that much. Space enough, so why delete? :) Update Damn, if you go and move the gallery into another subdir it *really* helps to update all the html files with the links to it. Tssss.

Gunnar Wolf: Fractional sleep

How cool is this?
if pid=fork
  while true
    puts "# Time.now.sec : I'm the slow # Process.pid , parent of # pid "
    sleep 1
  end
else
  while true
    puts "# Time.now.sec : I'm the fast # Process.pid , child of # Process.ppid "
    sleep 1.0/3
  end
end
What do I get?
18: I'm the fast 9900, child of 9899
18: I'm the slow 9899, parent of 9900
18: I'm the fast 9900, child of 9899
19: I'm the fast 9900, child of 9899
19: I'm the slow 9899, parent of 9900
19: I'm the fast 9900, child of 9899
19: I'm the fast 9900, child of 9899
20: I'm the fast 9900, child of 9899
20: I'm the slow 9899, parent of 9900
20: I'm the fast 9900, child of 9899
20: I'm the fast 9900, child of 9899
And for those of you not familiar with sleep(3), what is so cool about this? Simple: The prototype for sleep in almost any language is:
#include
unsigned int sleep(unsigned int seconds);
(note the unsigned int part?)
Even the Perl documentation clearly says, being compliant with the rest of the world:
For delays of finer granularity than one second, you may use Perl's "syscall" interface to access setitimer(2) if your system supports it, or else see "select" above.
The Time::HiRes module (from CPAN, and starting from Perl 5.8 part of the standard distribution) may also help.
But... Well, in this case I just loved the Ruby way: If it does not hurt to cause surprises, then don't cause them! Keep a simple, portable definition, that will work with seconds or with fractions! Why not?

19 June 2006

Lars Wirzenius: Debian: Packaging tutorial (again)

I gave my Debian packaging tutorial today. The Computer Science department of the University of Helsinki provided the space (a classroom with networking), for which I hereby offer grateful thanks. There were fourteen students, and everyone made a package out of my hello world program (especially written for this tutorial). The slides used my liwc package as an example, and during the talk I noticed a couple of problems, which promptly resulted in a bug report. Excellent! Nobody wanted to do a victory dance, people are too shy. I've now given this tutorial twice: once for three of my friends privately, and once for a larger group. It only covers the very basics of creating packages, and there's much more to learn. Some day I might do a second part, and cover things like maintainer scripts, advanced dependencies, debhelper, pbuilder, and piuparts (the last three were only briefly touched upon today). I might be willing to do the first part again, if there's enough interest. Not very soon, though, teaching is surprisingly exhausting and time-consuming. However, if you'd be interested, please do mail me (at liw@iki.fi).

Steve Kemp: What use is a souvenir of something

xen-tools 2.0b1 released. Please test and let me know what breaks. After so much work, so many bugs, and so many fixes I’m reluctant to go straight from 1.6 -> 2.0, so a 2.0b1 release is in order. Changes: Probably more that I’ve forgotten about. If I hear positive feedback expect a real release and upload to Sid this week. If not .. whenever I get round to it.

Michael Janssen: Weekend Weeviews: Jawbreaker, Real Genius, Primer

There are three reviews this week, because I neglected to review one which I watched earlier. I'm also trying to decide whether the links at the end are of any use, and whether it's useful to syndicate this to Planet Debian. Feedback is encouraged! ;-)

Jawbreaker

The whole premise of Jawbreaker gets laid out right at the beginning - after a opening sequence in which we see the title candy being made, a couple of girls kill a friend by surprising her and using a jawbreaker as a gag. The movie then degenerates into a formulaic nerdy girl gets to be pretty storyline. Unfortunately Jawbreaker doesn't pull it off as well as Mean Girls does, and ends up falling pretty flat. One saving grace of this movie is that it is very short at just 87 minutes. One small treat is that Rose McGowan is playing a decent role, although I do have a much older vision whenever I see her from her work on Charmed. One thing which keeps bugging me is how the movie reminds me of But I'm a Cheerleader, even though the plots and premises are very different. The soundtrack is very well done with good placement of good songs. Jawbreaker is bittersweet at a 5. (imdb, amazon)

Real Genius

I have always heard good things about Real Genius, but never saw it all the way through. Supposedly this is a tragedy. Apparently [info]ceilingsarecool saw it before, but didn't remember a bunch of the plot. A whiz kid enters college early and starts working for a professor. The premise is setup in the first 10 minutes or so, which is that Herr Professor is really corrupt and working to provide a laser weapon to the military. This leaves ample time for the comedy in the movie to play out, as Whiz Kid gets to experience all the wild antics of college with a high-IQ twist. Lasers are used fairly extensively in the movie (mostly as part of the plot) and get a nice chunk of credits in the end. The movie unfortunately doesn't really age well with time, unless you're a fan of 80's movies. There are no less than 2 montages with music, and the ultimate 80's end-of-movie song "Everybody wants to rule the world" by Tears for Fears is playing at the end. Real Genius still is smarter than many movies you'll see nowadays, so it burns in a 7. (imdb, amazon)

Primer

Small budget films are usually interesting to watch, because either they are simple masterpieces, or they try to be way more than they can be and end up being a trainwreck which you just can't stop watching. Primer is the rare gem which found a happy medium between complex and simple. At the start, a garage business is introduced with four tech friends making a bit of money selling to hobbyists. Apparently they have some sort of deal about who gets to pick the next thing they try, and one of them wants to try something related to physics. Two decide to attempt it on their own and they create a device which apparently lowers density, or gravity, or something. Then they discover it does much more than that - it can manipulate time. Fortunately there is still much of the movie left after this. The acting is not top notch by any means, and comes off as cardboardish, but it seems well-placed in this script because most techies that I know are not the best with social skills. It's important to note that the main focus doesn't lie on the device, but on the implications and ramifications. As the movie approaches it's end, the pace and convolution increases quickly. A rewatch is in order for Primer - and even then you still may be missing parts in the giant puzzle which is laid out before you. Shane Carruth directs, writes, and produces an amazing film, especially considering the sub-10k budget. Primer scores e^2.30258509. (imdb, amazon)

18 June 2006

Joerg Jaspert: Pictures and text from my Trip in Mexico

Finally Im done, and uploaded all pictures from my trip after DebConf. I also made some little .html files, describing parts of the trip, you can find that behind http://kosh.ganneff.de/~joerg/mexico/. All pictures are available behind http://kosh.ganneff.de/~joerg/gallery/mexico, if you really want to look at them. Sometimes there is a subdirectory bad/, I put pictures there I do not like that much. Space enough, so why delete? :)

Andree Leidenfrost: New x.0.8 Mondo Rescue Debian Packages

mindi-1.08-2-1, mindi-busybox-1.00-7 and mondo-2.08-2-1 are now in incoming. The main changes apart from being new upstream versions are:
  • LVM support,
  • includes Debian-specific post-nuke script to update initrd images after restore,
  • fixed DHCP support, i.e. using something like 'nuke ipconf=dhcp:eth0' should work now (feature done by Bruno, I just ironed out some scripting buglets).
I have switched over to upload amd64 packages partially because I wanted to and partially as a workaround for the still unamended Packages-arch-specific file. If anyone can tell me how to get this changed, I'd be very grateful. Other than that, I have double-checked that i386 builds in pbuilder, so fingers crossed that i386 packages are going to get built automatically.

The packages were tested doing a full archive and restore run on sid i386 (NFS) using kernel 2.6.16-2-k7 (2.6.16-14) and on sid amd64 (ISO/DVD) using kernel 2.6.16-2-amd64-generic (2.6.16-14) (I've had intermittent problems with the OOM killer in -k8 kernels during restore.). The amd64 setup uses a combination of two RAID volumes and two physical LVM volumes one of them on top of RAID with multiple logical volumes. (/boot is a normal partition because I like grub.)

Hopefully, I can now focus somewhat more on the remaining bugs, some of which look like they might entice substantial upstream work. We'll see. Oh, and upgrading mindi-busybox to 1.1.3 would also be nice, there is a problem with mount/mtab support that I have to get to the bottom of first.

All in all, with both RAID and LVM support pretty much there (knock on wood), Mondo Rescue in etch should be much improved over the version in sarge.

Christine Spang: Graduation: Many Pictures, Few Words [dialup warning]

Friday - The Party Good food. Good Food Good times. (Though, I have to admit it was considerably more interesting when it got dark and the torches were lit and we tried to avoid melting the beach ball.) Playing volleyball Helpfully labelled drinks. Helpful labels! Saturday - The Graduation Good music. Brian Maxsween, singing Good speeches. (<plug> yes, this is me </plug>) Christine Spang, speaking Saturday - After We Are Graduated In which I pose with the superintendant. Me with Dr. Rudolph Rubeis, West Genesee Superintendant In which I pose with my brother outside in the blinding sunshine and blazing heat, while thinking about the cool water that happens to be behind us. Blinded outside In which I pose with my parents and brother in a moderately more forgiving environment at home. The Parental Units In which I pose with my brother and grandparents, who could probably stand in for an alternate Matrix cast, and kick your [posterior]. At least in this picture. The Matrix In which my cousin Mark discovers that my stole is kinda fun. Peekaboo! In which a good friend of mine gives me a freaking awesome shirt. This Blows I will now proceed to summarily disappear off the face of the ‘net from sometime tomorrow until late Monday or so, in which I Move To Cambridge.

17 June 2006

Enrico Zini: DB-ALLe released!

DB-ALLe has been released! After more than a year of (paid) work, DB-ALLe has been released!
DB-All.e is a fast, temporary, on-disk database where meteorological data can be stored, searched, retrieved and updated. To make computation easier, data is stored as physical data, that is, as measures of a variable in a specific point of space and time, rather than as a sequence of report.
These are the main characteristics of DB-ALLe:
  • it is temporary, to be used for a limited time and then be deleted.
  • does not need backup, since it only contains replicated or derived data.
  • write access is enabled for its users.
  • it is fast for both read and for write access.
  • it is based on physical principles, that is, the data it contains are defined in terms of omogeneous and consistent physical data. For example, it is impossible for two incompatible values to exist in the same point in space and time.
  • it can manage fixed station and moving stations such as airplanes or ships.
  • it can manage both observational and forecast data.
  • it can manage data along all three dimensions in space, such as data from soundings and airplanes.
  • it can work based on physical parameters or on report types.
DB-ALLe has been written by me on behalf of ARPA-SIM a public agency which realises that being funded with public money also means letting the public access the result of what they do:
Copyright (C) 2005,2006 ARPA-SIM <urpsim@smr.arpa.emr.it> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License
Oh, and they make an outstanding weather forecast, the best you can find for my region. It's so good that people even started to trust them! :)

Edd Dumbill: In search of agile infrastructure for web applications

Many advances have been made in agile software development. Frameworks such as Ruby on Rails embody agile principles by making software easy to write, easy to test, and above all, easy to change.If only we could say the same for the infrastructure on which we develop and deploy web applications. Not every application can be a Rails one, especially where it's been up and running for years. The systems we deploy on often rely on configuration files scattered all over the filesystem, and can be complex results of years of change.By extension, the systems we develop on often don't exactly mirror where we deploy. If we're lucky and careful, then we have a staging server which mirrors the live environment, but that's not too much of an advantage. Among other things, we need ways to evolve and refactor the live environment, and have our development environments easily track that.I'd like to call such an environment "agile infrastructure". Infrastructure that doesn't hamper developers, and allows live configurations to change and evolve. Infrastructure that allows new things to be tried with minimum cost, and can provide the best information possible to help future planning.Tools enable techniques, of course. It's a lot easier to be agile if you're programming in Rails rather than plain old PHP. So what are the tools enabling agile infrastructure?
Techniques I've found usefulWhile there's a long way to go, I'd like to describe some of the techniques I've been using to help create a flexible environment for developing a sizeable PHP/MySQL application.Operating systemAn operating system must be easy to bring into a known state with minimum interference. For this, I've found Ubuntu or Debian to be an ideal choice. Two of the main reasons include the constancy of stable releases and the fact that it's rare you need to stray outside the distribution's servers to get the software you need.DeploymentDeploying an application shouldn't break the cleanliness of your OS build. I prefer to package deployed applications into .deb files. This enables me to build on several advantages of the package management system:Source controlThe case for source control, thankfully, doesn't need making these days. Yet not every source control system is created equal. Developers shouldn't be constrained by source control, it should be cheap and easy to try new ideas and merge these in later.Not only cheap branching, but also easy merging, is required to keep development agile while still retaining the benefits of source control. Many people flock to Subversion these days, predominantly because it fixes some of CVS' more egregious misfeatures. However, merging can still be pretty difficult in Subversion.I prefer to use a system allowing easy merging, such as svk or bazaar. Because so many of us use laptops these days, disconnected operation is also a huge boon. Bazaar-NG offers both repository-oriented and completely decentralized operation, giving the best of both worlds. It also wins the competition for least setup overhead.VirtualizationPreviously a high-powered technology, cheap virtualization is now with us. Many identical virtual machines can be quickly created to enable testing and experimentation. Deployment to virtual machines can enable hardware independence for applications, reducing another big headache.Large organisations have it within their reach to bring new hardware online easily, and have invested much in management systems for it. Virtualization brings this in reach of small and one-man development teams.Desktop-based virtualizationSystems such as VMWare and Parallels untether developers from their desks. I use the OS X desktop daily for its productivity software, but an Ubuntu virtual machine for a large proportion of development work. A simple keypress lets me flick between the two. The advantages of multiple desktops to hand for web development are well known. (In fact, thanks to WINE and IES4Linux I can run Internet Explorer cheaply too from the same virtual machine).
Xen virtualizationAfter the initial novelty wears off, one of the most tedious tasks in the world is bringing new machines online. Combined with the tendency development environments have to get crufty as new ideas and tools are tried out, this makes for increasing disparity between the development and deployment environments.Wouldn't it be nice just to take a clean machine off the shelf, check out the source, and pick up again? Using Xen for Linux, this cheap virtualization is possible.Sadly, Xen isn't yet a packaged part of Ubuntu, but getting it up and running on Ubuntu Dapper isn't too hard. Warning: here's where things get pretty deep. Skip this bit if you're not interested in the nitty-gritty.I followed these steps:Getting over the DNS mountainIf you want it to be easy to bring new virtual machines up and down, you need to adopt a different approach to managing your DNS. You need to know how to predictably connect to a virtual machine. Yet it's going to get very boring and error prone to manage the IP address space manually in your DNS, or even to map the MAC addresses of your virtual machines in your DHCP configuration.
Help is at hand in the form of mDNS (also known as Rendezvous / Bonjour / ZeroConf). In the host machine, and in each virtual machine, I ensured the avahi-daemon and avahi-utils packages were installed, providing mDNS services. (You should also check that mdns is present in the hosts entry of /etc/nsswitch.conf).What all this does is allow the machines (virtual or otherwise) on the network to resolve names using mDNS. So if I create 3 VMs, alpha, beta and gamma, I can access these right away using the hostnames alpha.local, beta.local and gamma.local.Hey presto! Easily make machines appear and disappear without any need for sysadmin involvement. All the extra steps to add avahi installation can be easily scripted with xen-tools, to reduce the number of commands needed to birth a new machine to one.With this ease of creating new machines, it's much more straightforward to experiment with server topology and conduct experiments on server environments.ConclusionAgile development is necessarily constrained by the infrastructure on which it is conducted. The infrastructure itself is constrained by the tools and platforms of choice.By appropriate tool choice we can reduce the commitment and overhead of infrastructure. This enables developers to get on with the job they do best, and makes experimentation and evolution of infrastructure much simpler.When programming, it's dangerous to fall in love with your code, as the best solution may often involve throwing half of it away. The same hazard exists with infrastructure, with bizarre and awkward effects propagating back into code and operations. Get yourself a low commitment, agile environment, and you'll be able to keep up with the pace. 

Next.

Previous.