Archive for ‘Opensource’ Category

Suse 10.1 to 10.3 upgrade Episode 2

datePosted on 20:40, May 2nd, 2008 by Many Ayromlou

Okay, don’t laugh, but I’m really starting to believe in the “third time is the charm” saying. Episode 2 was going fine until last night when I left work. I had installed 10.1, skipped installing any of the XEN packages, updated 10.1, installed 10.3 and was in the process of letting it run over night (2.6 GB worth of updates…..wasn’t gonna hang around waiting for this to finish). Well somebody upstairs (santa, superman, spidy or one of those guys) did not agree and literally 20 minutes before I got into work this morning the power went out to our entire building, leaving my poor — almost done — 10.3 install in the middle of nowhere. I rebooted and just about cried my eyes out when GRUB could not find the new kernel :-)……Anyways, Episode 3 (known as operation “INSTALL or BUST”) is in process as we speak. I’ve got a fresh/updated 10.1 waiting to be updated when I get back on monday and YES I turned the machine off :-)…..stay tuned!!!

Suse 10.1 to 10.3 upgrade Episode 1

datePosted on 11:41, May 1st, 2008 by Many Ayromlou

So I’ve been preparing a test server for the past couple of days, so that I can test the Suse upgrade path from 10.1 to 10.3. I’ve got a spare Dell 2650 machine with a PERC3/i card and two 37 GB scsi drives in raid-1 configuration.

To get the test going I installed SuSE 10.1 from the install DVD and proceeded to choose pretty much all the options for the packages thinking that if the upgrade worked with (almost) all the installable packages selected, then it would almost certainly work on the real server. That was I believe my first mistake, by choosing (almost) all the options, I had also included XEN virtualization. This forces the 10.1 installer to install the XENified version of the linux kernel off the 10.1 DVD. This was fine and dandy as long as I was using 10.1, after doing all the online updates for 10.1 and installing 10.3 (and updating it), I rebooted and was greeted by the following kernel messages:
Mar 2 19:15:21 xxxxxx kernel: SCSI subsystem initialized
Mar 2 19:15:21 xxxxxx kernel: Adaptec aacraid driver 1.1-5[2437]-mh4
Mar 2 19:15:21 xxxxxx kernel: ACPI: PCI Interrupt 0000:04:08.1[A] -> GSI 30 (level, low) -> IRQ 16
Mar 2 19:15:21 xxxxxx kernel: AAC0: kernel 2.7-1[3170]Mar 2 19:15:21 xxxxxx kernel: AAC0: monitor 2.7-1[3170]Mar 2 19:15:21 xxxxxx kernel: AAC0: bios 2.7-1[3170]Mar 2 19:15:21 xxxxxx kernel: AAC0: serial 5C8881D3
Mar 2 19:15:21 xxxxxx kernel: AAC0: 64bit support enabled.
Mar 2 19:15:21 xxxxxx kernel: AAC0: 64 Bit DAC enabled
Mar 2 19:15:21 xxxxxx kernel: scsi0 : percraid
Mar 2 19:15:21 xxxxxx kernel: Vendor: DELL Model: Lombok Rev: V1.0
Mar 2 19:15:21 xxxxxx kernel: Type: Direct-Access ANSI SCSI revision: 02
Mar 2 19:15:21 xxxxxx kernel: SCSI device sda: 574210048 512-byte hdwr sectors (293996 MB)
Mar 2 19:15:21 xxxxxx kernel: sda: Write Protect is off
Mar 2 19:15:21 xxxxxx kernel: SCSI device sda: drive cache: write back
Mar 2 19:15:21 xxxxxx kernel: SCSI device sda: 574210048 512-byte hdwr sectors (293996 MB)
Mar 2 19:15:21 xxxxxx kernel: sda: Write Protect is off
Mar 2 19:15:21 xxxxxx kernel: SCSI device sda: drive cache: write back
Mar 2 19:15:21 xxxxxx kernel: sda: sda1 sda2
Mar 2 19:15:21 xxxxxx rpc.statd[2231]: Version 1.0.9 Starting
Mar 2 19:15:21 xxxxxx kernel: sd 0:0:0:0: Attached scsi removable disk sda
Mar 2 19:15:21 xxxxxx kernel: AAC:AAC received an unrecognized command [601].
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,0,0)
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,0,0)
Mar 2 19:15:21 xxxxxx rpc.statd[2231]: statd running as root. chown /var/lib/nfs/statd/sm to choose different user
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,0,0)
Mar 2 19:15:21 xxxxxx kernel: scsi 0:1:0:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,1,0)
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,1,0)
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,1,0)
Mar 2 19:15:21 xxxxxx kernel: scsi 0:1:1:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,2,0)
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,2,0)
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:21 xxxxxx kernel: aacraid: Host adapter abort request (0,1,2,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:2:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,3,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,3,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,3,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:3:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,4,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,4,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,4,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:4:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,5,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,5,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,5,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:5:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,6,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,6,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,6,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:6:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,7,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,7,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,7,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:7:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,8,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,8,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,8,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:8:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,9,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,9,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,9,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:9:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,10,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,10,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,10,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:10:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,11,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,11,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,11,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:11:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,12,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,12,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,12,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:12:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,13,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,13,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,13,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:13:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,14,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,14,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,14,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,1,14,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:1:14:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,0,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,0,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,0,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:2:0:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,1,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,1,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,1,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:2:1:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,2,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,2,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,2,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:2:2:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,3,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,3,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,3,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:2:3:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,4,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,4,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,4,0)
Mar 2 19:15:22 xxxxxx kernel: scsi 0:2:4:0: scsi: Device offlined - not ready after error recovery
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,5,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter abort request (0,2,5,0)
Mar 2 19:15:22 xxxxxx kernel: aacraid: Host adapter reset request. SCSI hang ?

ETC,ETC,ETC,.......

So what’s the deal. Looks like the driver is poking the scsi bus for every single ID on both buses. This literally takes 20-30 minutes, but the machine DOES boot up. Of course this is not acceptable, so after poking around I found out that It’s the XENified Kernel that’s causing this.

I’m testing this right now by reinstalling 10.1 from DVD WITHOUT XEN Virtualization. I will then apply the updates and upgrade (and update again) to 10.3 and report back in Episode 2……hopefully everything will work…….famous last word :-).

Hardy Heron is out…..

datePosted on 14:34, April 24th, 2008 by Many Ayromlou

Heha…..Ubuntu’s newest release 8.04 LTS (aka. Hardy Heron) is out and ready for your consumption. This release is major in that it’s LTS. For those of you who don’t know LTS versions of Ubuntu are supported for 3 years for the desktop version and 5 years for server version. ALL FREE….so what are you waiting for…..head over to Ubuntu Land for more info or alternatively just go to the download page.

And the battle continue….

datePosted on 19:34, April 23rd, 2008 by Many Ayromlou

Remember CDDB, the old database of CD’s that people built for people’s use. Well that dream got shot and killed when Gracenote, the company behind it, decided to close the platform and sell the data. It looks like private sector strikes again, big time. Sony has just announced that they bought Gracenote and their Database — remember the one that me, you and millions of others helped build — for $260m. Nice work S, now I wonder if there is a international law against buying/selling something that does not belong to you. Well ponder on that and start using freedb at freedb.org where things are protected by GPL and will always remain FREE.

Move over to Gmail…..

datePosted on 20:46, April 7th, 2008 by Many Ayromlou

Lifehacker has a couple of great articles on how you too can cut those ties holding you back from Gmail heaven and move your Email accounts (and old Emails) to Gmail. So go ahead, head on over to Gmail, create an account, download this utility and start uploading your old Outlook/Outlook express/thunderbird mailboxes from your computer to Gmail. Next Read this article to figure out how you can have Gmail “suck” your other accounts dry using the POP protocol and/or consolidate your other email addresses into Gmail. Oh and it’s all FREE as usual, so enjoy.

A lot of people seem to be having problems (issues) with the original way I had proposed here using command line. So, I figured I make it real simple and do a graphical tutorial with screen shots to boot :-). In this example we first deal with the server (running windows) at IP address 192.168.1.1, then we move to our client (Mac OSX) at IP address 192.168.1.2 and view the servers screen remotely through streaming video. So first on the server (remember 192.168.1.1 is the IP address):
1) Bring up VLC and select File/Open Capture Device (Ctrl-A). You should see this screen modify the bottom portion (Advanced Options), so it looks like this picture below. You can decrease screen-fps to 15 if you like to speed things up a bit.

2) On that same screen Click on the Settings… button beside Stream/Save and you’ll see the following screen. Make sure it’s configured this way if you want to do the streaming through HTTP protocol. Audio Codec does not need to be checked, since there is no audio, I just put it in as habit. Note the Address field is the IP address of the same machine (the server in this case), which is 192.168.1.1. This can be a bit confusing.
3) Press Okay twice and your VLC server is up and running serving your desktop to whoever wants to watch (Note: This WILL slow down your server machine considerably).
4) Go to your client machine (192.168.1.2 in our case), run VLC and go to File/Open Network menu option and fill it in as follows. Note that we’re connecting to our server at 192.168.1.1 now.
5) Press okay and you should see the stream from your server now…..DONE!!

Secure remote backups using Rsync…..

datePosted on 13:36, March 19th, 2008 by Many Ayromlou

While the world was busy trying to figure out how to sync their palm pilots to Windows 98 (or was it 95) Andrew Tridgell was working on his thesis……Rsync. The endall-beall in the world of syncing. You see, if you’ve ever tried any syncing program before you’ll appreciate the ease with which rsync works. You’ll also see the efficiency of it’s algorithm in dealing with changes/updates, and for that you can thank Andrew. I’m just gonna show you how to use this excellent tool along with ssh (another must have/must use free software utility) to setup automated secure backups between two different platforms.

For the purpose of this article I’m using a PowerMac G5 with a 1TB Firewire disk hanging off it as my backup server. As my client I’m using the departmental research server (yes, forget that it’s a server, in this exercise it’s a CLIENT).

So first we need to make sure we have the tools: ssh and rsync. They are already part of my distribution (SuSE Linux 10.1 on the client and OSX 10.5.1 on the server) so I didn’t have to install anything. You want to make sure that your rsync uses protocol version 2.x.x on both sides. (type: rsync –version on your machines to see the protocol version).

Note: You can also grab RsyncX for older OSX versions and/or cwRsync for windows.

Step 1. Is to remove the interactivity that happens during an ssh session (ie: password prompt). To do this we must generate passphraseless keys that we can initially manually exchange between our machines. So in our case we want to grant access to our client machine — via ssh — from the server. Now here is were things get a bit OS specific. Under OSX there is no root account (atleast not one you can log into) by default. In my setup I want to allow root@server.domain.ca (OSX machine) to have access to root@client.domain.ca (Linux machine), so here is what I had to do.

On the OSX machine (server or machine initiating the rsync session) login as the standard user/admin and issue the following commands:
$ sudo su - (you'll be asked for your password and then be in a root shell....be careful).
# cd ~ (this is just to make sure we're in root's home directory which is /var/root under OSX).
# ssh-keygen -t dsa -b 1024 (do NOT put in a passphrase when prompted....just press Enter).
Generating public/private dsa key pair.
Enter file in which to save the key (/var/root/.ssh/id_dsa):
Created directory '/var/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/root/.ssh/id_dsa.
Your public key has been saved in /var/root/.ssh/id_dsa.pub.
The key fingerprint is:
03:cc:52:7a:ed:ae:bf:53:48:9c:dd:45:c7:a9:bd:f1 root@server.domain.ca

Make sure you don’t enter a passphrase when prompted (remember we want a automated operation here). If everything goes right you should have two new files in your .ssh directory named id_dsa (your private key….don’t ever give this to anyone) and id_dsa.pub (your public key which we are going to use).

Now you need to transfer the id_dsa.pub key file to your client somehow. I do this just using ssh again. If you want to be totally super secure you can stick it on a usb key and walk it over to your client machine. So still on the server (OSX) machine I do the following (still in roots account, so be careful):
# scp ~/.ssh/id_dsa.pub root@client.domain.ca:/root/.ssh/authorized_keys
# ssh client.domain.ca -l root "chmod 600 ~/.ssh/authorized_keys"

So the first command transfers id_dsa.pub from the server and copies it to the root’s .ssh directory on the client (and renames it to authorized_keys). The second command issues a remote chmod command to set the right permissions on the authorized_keys file on the client (Linux box).

Now, to verify, while still logged into root on the server (OSX) try to ssh to your client machine (using root’s account on client). If everything works you should be able to log into root’s account on the client (Linux machine) without a password prompt. If you’re prompted for password, stop here, and redo/recheck your procedure.

Step 2. Pheew…..You made it, that was the hard part….the rest is pretty simple. Now we just need to test to make sure things are running smoothly and once that’s done we can automate everything using a cron job (Step 3.). So lets start our test run. For this I’ve chosen to backup the /etc directory on the server (lots of small files, nothing earth shattering) and my chosen path on the server is /Volumes/TERADISK. This is where OSX mounts my firewire drive (your milage may vary). I’ve created a folder on TERADISK called FULLBACKUP, which I use to have rsync house my backups. So to test issue the following command as root (yes still, so be carefull) on the server:
# /usr/bin/rsync -a -v -z -e ssh "root@client.domain.ca:/etc/" /Volumes/TERADISK/FULLBACKUP/etc
Notice I use /usr/bin to make sure I’m running the kosher version of rsync under OSX Leopard (I have an older rsync in /usr/local/bin that rsyncX installed). Now a word about slashes in rsync. Note that I follow the first /etc with a slash, but not the second occurrence. That’s because I’m telling rsync to grab the files INSIDE /etc on the client (hence the extra / at the end) and sync them to files in /Volumes/TERADISK/FULLBACKUP/etc existing directory on the server (hence the missing / at the end). You can think of a trailing / on a source as meaning “copy the contents of this directory” as opposed to “copy the directory by name”. So hopefully this command worked for you and after a few minutes you have a copy of the /etc directory on the server. If not please stop and review your steps. Do NOT do Step 3. unless Steps 1&2 are verified and working.

Step 3. Well we’ve reached the end. All you have to do now is to use crontab -e command while still logged in as root on the server to add rsync entries for folders you want synced between the client and the server. Note that I do NOT backup absolutely everything off the client, only specific folders (and their subfolders ofcourse). I’m pretty sure that rsync will get confused if you try to sync things like your dev directory from the linux client. In my cron I have the following:
0 4 * * 6 /usr/local/bin/rsyncmanu.sh
Which runs the rsync shell script on the server (as root) every saturday at 4:00 am.

That’s it. Hopefully this has been useful…..

And now a bit of Engineering brought to you by the letter E

datePosted on 20:23, March 14th, 2008 by Many Ayromlou


As some of you might know I’ve been setting up my OTA (Over The Air) HDTV gear for the past couple of months and learning all about Antenna design, gain, amplification, directionality and such…..Lots of fun/confusing stuff. Well today I came across this article on digitalhome.ca that describes how a bunch of guys got together and using digital modeling improved the original Gray-Hoverman Antenna design. And if that wasn’t enough, they’ve released their design completely under GPL……Bravo. They’ve truly built the Super Antenna and in true spirit of engineering have shared their results/designs. So go grab some coat hangers, set aside 30 minutes of your life and get off the bandwagon and save some money by grabing your HD over the air for FREE….Like it’s supposed to be.

Learn how to program your PS3

datePosted on 22:49, January 28th, 2008 by Many Ayromlou


Thanks to MIT, you can now learn how to program your PS3, and any other Cell Processor based gadget. Prof. Saman Amarasinghe and Dr. Rodric Rabbah have put together a wonderful free course on Multicore Programming using the PS3’s Cell Processor. Course 6.189, Multicore Programming Primer: Learn and Compete in Programming the PLAYSTATION®3 Cell Processor can be attended online here.

Course Description

The course will briefly cover the history of the microprocessor evolution, and discuss the reasons for the recent shift in architecture design toward multicores. Students will become familiar with the Cell processor that powers the PLAYSTATION®3, and how its design choices compare to other emerging architectures.

Students will also learn different programming models for parallel architectures. There will be small hands-on labs to experiment and understand the pros and cons of these different programming models, with an emphasis on stream-based computing. Student will also learn StreamIt, a new, simple, and natural to understand programming language for stream computing developed at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL). The course will explore broader implications of the stream programming model to various kinds of traditional parallelization technology.

Students will participate in a course long project that can impact one of several domains that include gaming engines, media applications, algorithms for molecular dynamics, and protein folding challenge problems. Students are expected to participate in small project teams. Course projects will be evaluated based on their performance, complexity, and completeness. Students will compete for exciting prizes to be awarded to the best project as selected by a panel of judges.

Open Source lovin’ for your Server….

datePosted on 12:12, January 11th, 2008 by Many Ayromlou


Continuing with our coverage of “Free your Apps”, here is how you can free your Server (and workstation) of those expensive (usually useless) so-called Enterprise Applications. BitNami stacks make it incredibly easy to install your favorite open source server software. Application stacks include an open source application and all the dependencies necessary to run it, such as Apache, MySQL and PHP or Ruby. All you need to do is download the Stack, provide a few pieces of information when prompted by the installation wizard, and that’s it. By the time you click ‘finish’, your new application will be ready to run. All stacks have been packaged using BitRock’s multiplatform installer.


Bitnami Infrastructure stacks are designed for developers and system administrators and provide you a way of installing a LAMP or Ruby environment, but do not include any extra applications. It is not necessary to download an infrastructure stack to use an application stack.

All this ofcourse for free, so again to recap, here is a complete list of what they offer:

So what are you waiting for…..fire up those downloads :-)

123456PreviousNext