Lenovo to offer pre-installed Linux on Thinkpads


ThinkPad customers will soon have a new configuration option, as Lenovo and Novell have announced that the popular laptops will begin shipping with SUSE Linux Enterprise Desktop 10 (SLED) preinstalled. Although the ThinkPad has been certified for Linux for some time, this marks the first time Lenovo will ship a laptop with Linux preinstalled—while providing both hardware and OS support. Novell will provide software updates directly to ThinkPad owners, however...

Rest of the story on Ars Technica

Free Software Analogies


Two key computer analogies

Using a GUI : Learning command-line :: Pointing at a phrasebook : Learning the language.

Proprietary Software : Free Software :: Alchemy : Science

Intuit announces Quickbooks support for Linux Servers


From their press release --

SAN DIEGO, Calif. – June 13, 2007 - Answering the call for an open source option from Information Technology professionals, Intuit Inc. (Nasdaq: INTU) announced today that businesses will soon be able to operate QuickBooks Enterprise Solutions® from Linux servers. It is the first time the company has made one of its products available to users of open source systems.

Rest of the story

Handy password recovery script


This little program runs as a temporary server, possibly on your local machine or wherever you can run it, and shows you in plaintext what it receives thru FTP or POP3... in order to recover passwords saved in a program.


# Program to recover lost FTP or Mail (POP3) passwords # -f recover

ftp password # -m recover mail password # -p use specified port #

use strict; use IO::Socket; use Getopt::Std;


if (!$::opt_f && !$::opt_m) { print "Must specify -f for FTP or -m for mail recovery.n"; die; }

my $port = $::opt_p || $::opt_f * 21 || 110 ;

print "[[$port]]n";

my $listener = new IO::Socket::INET ( LocalHost => 'localhost', LocalPort => $port, Proto => 'tcp',

notice the next two attributes # of the Socket::INET parameters

Listen => 1, Reuse => 1, ) or die "Could not create socket: $!n";

Display to STDOUT of the server window print "Waiting for


Wait for connections (initialize the socket server) my $SOCKET =


Display to STDOUT of the server window print "Got connection...n";

my ($command, $password); # Tell the client to send a command print $SOCKET $::opt_f ? "220 FTP fake readyn" : "+OK MailFake 1.0 at localhost readyn";

Read a command string from the client $command = <$socket>;

print "<< $commandn";

print $SOCKET $::opt_f ? "331 Enter your password, suckern" : "+OKn"; $password = <$socket>; print "PASSWORD: $passwordn";

Clean up the listener close($listener);


Upload mirroring with lftp


By default, many FTP servers don't list '.' and '..' (current and parent directories) which confuses lftp when uploading a mirorr copy. What happens is that lftp sends a "list" command and, if it's in an empty directory, lftp gets nothing back.

Solution: use

set ftp:list-options -a

This forces the remote ftp server to include '.' and '..' to keep lftp happy.