Parochial Schools Score

A very interesting article in “This is London” point to the success of Parochial and Anglican schools in affecting the moral direction of young men concerning sex, abortion, and pornography. The article gives rise to the debate of the place of schools in molding the nature of children and imparts the importance of the quality of education available to students. While the age of consent in England probably has a significant effect on the applicability of the study in the US; it should still act as a reminder of the awesome responsibility that parents have with regards to education.

As a parent of a young girl (and a another child on the way) I am exceedingly conscience of the effect the environment has on my child. As long as children need to attend school (not simply as a matter of law but also as a vehicle for self improvement), it will be a major factor in their moral development. The choice of a child’s school is, therefore, one of the most important decisions I, as a parent, can make.

Suse RPM

Got a couple links on building RPMs for Suse.

  • Maximum RPM – A 2000 article on making RPMs, kind of dated but still accurate.
  • Suse Package Conventions – Suse specific RPM information.
  • Migrating Red Hat applications to SUSE – A Novell “Cool Solutions” article on moving getting Redhat packages working on Suse. Contains only general information and most of that is concerning platform independent development; not strictly Redhat to Suse migration. The article is interesting because it talks about using Perl and the Yast API to make Yast configuration modules for ANYTHING on Suse. hmmm… I can think of a couple uses for that!

Quick Reference: CVS Automation

CVS Auto-updating is a blog post on how to get CVS to manage auto updating when working with a web server or a local repository. Nothing fancy, but it works. Here is another option (releated to KDE management) for auto updating:

Simply subscribe the user owning the cvs/svn checkout to the mailing-list where
commit mails are sent, and in that user, set up .procmailrc like:0:kdecvs.lck
| $HOME/bin/kdecvslogwhere kdecvslog is a script like:========================
#!/usr/bin/perl -wmy $subj;

umask 022;

$ENV{“CVS_RSH”} = “ssh”;

# read the message to make procmail happy
while()
{
chop;
$subj = $1 if(/^Subject: (.*)/i and !defined($subj));
}

exit 0 if (!defined($subj));
exit 0 if ($subj =~ /\/\.\.\//);

$subj = $1 if ($subj =~ /^\S+: (.*)$/); # remove branches
$subj = $1 if ($subj =~ /^(\S+).*$/);

# Choose here which subjects to filter upon. Another solution is to filter
# in .procmailrc of course
if ( $subj =~ m#www/areas/koffice# || $subj =~ m#www/media# )
{
my $home = $ENV{“HOME”};
my $cvsroot = “$home/koffice.org”;

open LOG, “>>$home/cvslog”;
my $date = `date`; chop($date);

my $path = “$subj”;
if ( $subj =~ m#www/media# ) {
$path = “$cvsroot”;
} else {
$path = $subj;
$path =~ s#www/areas/koffice##;
$path = “$cvsroot/$path”;
}
print LOG “$date: subj is $subj\n”;
print LOG “$date: testing path $path\n”;
#print LOG “$date: mod is $mod\n”;
$path = “$cvsroot” if (! -d $path);

if (-d $path) {
print LOG “$date: updating $path\n”;
$SIG{ALRM} = sub { $SIG{TERM} = sub{}; kill TERM, 0; exit 0; };
alarm 600;
my $out = `cd $path; svn up 2>&1`;  ## use cvs up here instead of svn up if you use CVS
print LOG “$date: output–\n” . $out . “\n”;
}
close(LOG);
}

Thanks to David Faure for the script.

Speedy Linux

Here is a quick (and light) article on getting more speed out of your linux distrobution. The information is useful but here are a couple more tips that can help:

  • Although its generally not necessary to have multiple virtual terminals running in init 5; they are VERY useful on other (i.e. non-GUI) run levels. So instead of commenting them out we can simply disabled them for a given run level like this:

    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:23:respawn:/sbin/mingetty tty3
    4:23:respawn:/sbin/mingetty tty4
    5:23:respawn:/sbin/mingetty tty5
    6:23:respawn:/sbin/mingetty tty6

    This would give you 2 virtual terminals on run levels 4 & 5 but still retain all 6 when on 2 & 3.

  • Use Open Office a bunch? You can add this command to your .bashrc to keep an instance of Open Office in memory: “ooffice -quickstart &”.
  • Many people will see a noticeable speed improvement by building a kernel targeted to their particular processor. This may sound hard but its really just a simple as getting the src rpm of your current kernel and typing: “rpm –rebuild –target athlon kernel-verison.src.rpm”. You will then need to install the new kernel. The nice part about this is that it is registered as the same kernel and uses the same sources as the default distribution kernel.

The Eight

The Eight by Katherine Neville, is a alternative-history style thriller novel in the same basic genre as “Da Vinci Code.” The book is a pretty fun read, even if the character development is lacking and its dialog unrealistic.

What really characterizes this book is the over-the-top nature of the plot. Take every historical figure that you can think of, combine them as pieces of a complex chess match, add in lots of technology and math references, and finally add a dash of romance novel; and you might get an idea of how this book works. While the plot is never too much to handle, some readers might be turned off by the simplicity of the authors writing style.

The Eight was an enjoyable “weekend” book and one that I am glad I read. I suppose the best comparison I can give of the book is this; I come away from “The Eight” in much the same way I came away from “Die Hard.” Its was an enjoyable experience whose short-comings helped “make” it, instead of taking away from it.

The death of a desktop…

There has been a heated debate going on in the Gnome world over which development environment to integrate on a native level with the desktop layer of Gnome; Java or Mono. The dark secret that every Gnome developer subconsciously understands in their rigid little pre-OOP based minds is that C is killing Gnome’s ability to compete effectively in the F/OSS desktop world. All the core Gnome developers understand this, as do most anyone who has had to develop on Gnome. To make C a truly useful language for desktop application development it needs a couple things; like encapsulation, inheritance, and polymorphism. If these qualities sound familiar its because they are quite literally the defining characteristics of object oriented programming. A cursory look at GTK shows many a half-assed attempt to implement said qualities in Gnome libraries even though their primary language of choice doesn’t support them natively. Suffice to say that Open Office, Mozilla, KDE, and almost all sane desktop software application are developed in C++ (or similar OOP languages) these days. Fundamentally Gnome HAS to make a switch; and this switch will decide the future of the Gnome Desktop.

Now this is where things get interesting. Redhat has decided to back Java (or more specifically Classpath and gcj, an open source Java implementation.) Why? No one is really sure but it should be noted that Havoc Pennington (head of Redhat Gnome development and probably the second most famous talking head in the Gnome pantheon) has gone so far as to say that Redhat will not and CANNOT include Mono in its version of Linux. Rehat is the single largest Gnome contributor, the largest corporate Linux distribution, and employees more Gnome developers than any other single employer. Not including Mono (and not supporting it) would be a huge blow to the success of Gnome on the Linux desktop. So how far is Redhat willing to go to keep Mono out of Gnome? Evidently they would be willing to actually FORK (yes you heard me right) Gnome.

Now, easily the most public face of Gnome development is Miguel de Icaza. Miguel is most famous for a little project he works on called Mono. Yes, that would be the same Mono that Redhat will not ship. And easily some of the most interesting technology to come out of Gnome in the past couple years has come from Miguel’s platform of choice (things like Beagle.) Mono is the obvious favorite for the future direction of Gnome. So much so, that Java doesn’t even register on the radar of most Gnome developers.

So here is the rundown. 1) Gnome needs to move from C if it ever want to bring modern applications to its desktop environment. 2) Mono is the logical direction for Gnome to head. 3) Gnome’s most influential developer is ONLY willing to go towards Mono. 4) Gnome’s most significant corporate contributor is not willing to use/ship/support Mono. 5) That same contributor is pushing Java. 6) Very few in the Gnome world actually want to use Java (minus Sun and Redhat) on the Gnome desktop. 7) Redhat is actually willing to fork Gnome (the thought of switching to a superior desktop never even crossed their minds) rather than use Mono. And finally, 8) Many of the Gnome core developers would rather stay with C than bother with the whole mess.

Man, does this sound like a desktop with a bright future! Oh, ya. By the way. Because of the flexability, and power of the Qt environment. You can already make native Java applications in KDE. And they are a whole lot easier than making them in GTK#, AWT, or Swing.

NetWare on Linux

I had never heard of this project before, so I figured I would post a link. MARSNWE is a NetWare emulation tool for Linux. MARSNWE can easily replace the file and print services of a Novell NetWare 2.2 or 3.11 server. It can also be be used in this manner as an IPX router. It does not offer all the features of newer version of NetWare (like Directory Services) but works as a nice tool for legacy support on Linux. The link is to the Novell Suse information sheet.

Subversion and Apache SSl

Ben Meyer (aka icefox) pointed out this quick tutorial on getting Subversion (SVN) up and running with Apache & SSL. The tutorial covers install with Debain, but is fairly relivant for any other distro.

SVN is a replacement for the venerable Current Versioning System (CVS) use to manage very large, very distributed, digital information. While it is most commonly used to manage software projects, it can also be used to manage documents, websites, or even personal home directories.

The tutorial is particularly interesting to me because I am changeing over from CVS to SVN for source control on KDE.