Gave My Gentoo A New Kernel

My kernel has been upgraded to 2.6.21. The sound card driver provided by my previous kernel 2.6.18 did not properly support my sound card, and I had to use alsa-driver sound modules. Now I have compiled the driver that comes with 2.6.21 into the new kernel, and it works perfectly.

I also decided to give my kernel a new scheduler, too. It’s Completely Fair Scheduler (CFS) v15, developed by Ingo Molnar from Red Hat. It promises to fix deficiencies of vanilla scheduler. We might have already experienced Windows NT scheduling. At least we may have configured our computers’ role as workstation or server in Windows XP. And there are some interesting links that will give us a basic idea about linux process scheduling. These include:

The O(1) scheduler in 2.6 kernel written by Ingo Molnar from Red Hat is a complete improvement over 2.4’s scheduler. Being O(1), it takes the same amount of time to select the best task from the runnable processes. CFS is the completely rewrite of O(1) scheduler.

In addition to CFS patch, I also applied regular gentoo patchset, Con Kolivas patchset and suspend2 patchset.

One day, I will give Con Kolivas’ Staircase Deadline (SD) scheduler a try, and feel the difference between SD and CFS. These two schedulers are being vigorously tested by Linux developers, and in the end one of them is likely to be accepted into mainline.

Finally, I have to re-compile fuse driver for ntfs-3g after compiling new kernel. I will definitely patch for fuse in my kernel when I upgrade to next version

A Touch of Beryl

I was living with OpenBox as my Windows Manager for more than a year, and now it is time to embrace Beryl. Ever since Compiz, I tried to install and feel it on my Gentoo. It was never a success, unless I switched to another distro that supports Compiz out of the box.

Compiz is a great product of Novell to support OpenGL accelerated desktop. Eye-candy. Even Windows Vista lacks some of its features. Beryl is a fork of Compiz, and its a combination of Windows Manager and Composite Manager. Windows Manager usually decorates our X Windows, and Composite Manager tries to combine windows and images to create special effects.

Frankly speaking, I never liked my Linux Desktop looks like Microsoft Windows. But Windows Vista’s Aero feature has me hold my breath.  Especially I like Windows frame’s transparency effect. Now this feature is on my Linux Desktop.

To install Beryl, I had to upgrade my X Server to 7.2 to support AIGLX, my primary accelerator for OpenGL, without any hassle. Switched to KDE and configured KDE to use Beryl emerald as Windows Manager. Turned off KDE’s built-in effects which interferes with Beryl. Now my Gentoo desktop is coming to live with stunning effects 🙂

Adding DAG to CentOS

This might help when you want to include DAG repository in CentOS.

Firstly, import Dag’s GPG keys.

rpm –import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

Secondly, create a repo for yum in /etc/yum.repos.d, and name it something like dag.repo. And add the following to that file:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/

Better Than Flowers On Valentine’s Day

Here comes Valentine’s Gift from Yahoo! For our everyday’s HTML and AJAX needs, Yahoo! has just given us Yahoo! User Interface Library, and all the components are released under Open Source License (BSD License). Better than flowers, huh?

Yeah, we’ve got libraries and that pushes us further into endless possibilities of creating useful applications. To make best use of those tools to create applications, there’s got to be some guidelines and documentations. Again, Yahoo! provides us Design Pattern Libarary. To go further, there’s a blog for everything we need to know about those libraries and design patterns.

Slackware is saying goodbye to Gnome

Slackware is dropping Gnome from its next distribution. Patrick says…

Please do not incorrectly interpret any of this as a slight against GNOME
itself, which (although it does usually need to be fixed and polished beyond
the way it ships from upstream more so than, say, KDE or XFce) is a decent
desktop choice. So are a lot of others, but Slackware does not need to ship
every choice. GNOME is and always has been a moving target (even the
“stable” releases usually aren’t quite ready yet) that really does demand a
team to keep up on all the changes (many of which are not always well
documented). I fully expect that this move will improve the quality of both
Slackware itself, and the quality (and quantity) of the GNOME options
available for it.

Folks, this is how open source is supposed to work. Enjoy. 🙂

Click here for more information.

Apache, MySQL, PHP

It is pretty easy to install and configure Apache on both Windows and Linux. And so is MySQL, and so is PHP support. Still configuring those things to work perfectly needs certain effort, especially when it comes to installing Tomcat, Perl, mail servers or ftp servers etc. For those who don’t want to mess up with opening and saving several configuration files, I would recommend using packaged distributions for Apache, MySQL and PHP. These kind of distribution packages exist for both Windows and Linux platform and they perform right just out of the box. To name a few:

  • apache2triad: Server bundle of : Apache2 , MySQL , PostgreSQL , OpenSSL , Xmail , SlimFTPd Software developing triad of : PHP , Perl and Python + Apache2TriadCP , PHPmyadmin , PHPPgAdmin , AWStats , UebiMiau , PHPXMail , PHPSFTPd. All latest stables , all manuals.
  • AppServ: is an merging open source software installer package for Windows and Linux.
  • FoxServ: is an Apache / mySQL / PHP installer package for Windows and Linux. Unlike NuShpere or PHPTriad, FoxServ features the latest version of all included pacakges, user defined configuration during installation, PHP as a module, PEAR, and the Zend Opt.
  • XAMPP: is a very easy to install Apache Distribution for Linux, Solaris, Windows and MacOS X. The package includes the Apache web server, MySQL, PHP, Perl, a FTP server and phpMyAdmin.

I’m still not sure about which package performs best. Each has its own strengths as well as weaknesses. But I’m currently using XAMPP on my Windows box.

XScreenSave Lock Window

I use xscreensaver not to prevent the pixels from my monitor from burning, but for eye-candy. The only thing that looks ugly is its password window presented during unlocking. But it’s not anymore, after I’ve applied the patch by Alan Swanson. Please refer to his site for instructions on how to patch. To quote him:

So what I’m providing here is a framework for creating built-in themes. (Note that themes are not run time changeable – only one can be included at any time.) The default theme is shown in the first screenshot below and other themes are available. Creating a new theme requires some graphical talent (of which I have none) for the frame and logo and some programming experience if you wish to adjust the interior. Please feel free to submit themes and I will include them on this page.

XSS

Happy Theming XSS 😉

Poor Man’s VPN

SSLtunnel is one of the ways to setup PPP session over SSL. Its README says…

1. What is it?
==============

ssltunnel allows to mount a PPP session encapsulated into SSL. That allows
to make a poor man’s VPN between two Unix machines or two networks, without
requiring to set up an IPsec technology.

2. Why?
=======

For a simple reason: I often move, and I very often have, in a hotel or in a
corporate network, only a limited access to Internet, i.e.:
. through address translation (NAT)
. or worse, through only an HTTP or HTTPS relay.

In all these situations, it is impossible to use a protocol like IPsec,
which will be pitilessly filtered at the exit of the network.

I for a long time used PPP over SSH, even while passing through HTTPS relay
(by using a program like corkscrew or https-relay
(http://www.rominet.net/https-relay), but SSH has several problems:

. it isn’t SSL, and some HTTPS relays start to check that what cross-piece
them is definitely SSL.
. it inevitably asks to have an Unix account at the other end, which is
not inevitably ideal for the management of the authentications

I thus decided to write a “PPP over SSL” tunnel, by obviously using OpenSSL.
I could have made a “do-it-yourself” with stunnel, but I preferred to do
something clean.

3. How?
=======

The principle is to use the SSL client certificates, as in HTTPS:

– the server listens on port 443 of the destination machine;
– the client connects himself (if need be, through a relay like Squid,
ISA-Server, the proxy does not have *ANY* mean to check if it is a
navigator < - > HTTPS Web server session, because the beginning of the
not crypted session and the SSL negotiation are exactly identical);
– at the establishment of the connection, the server forks;
– the server sends its certificate, the client checks that it is well
signed by an authority it trusts;
– the client sends his certificate;
– the server checks this certificate and seeks if it corresponds to a
certificate declared in its base;
– the crypted session starts;
– the server sends its banner with its version number and its protocol
version;
– the client receives the banner, checks and sends his;
– the client forks, opens a pty, launches pppd in client mode on this pty,
without specifying which IP address it wants;
– the server gets PPP parameters from the user file, changes its identity,
opens a pty, forks and launches pppd on this pty with the options given
by the file;
– the PPP session is established between the two ends, the program at each
end cyphers/uncyphers and reads/sends the data in the pty connected to
pppd.