That American Airlines and IBM Corp. started Sabre in the 1960s — the name stood for Semi-Automated Business Research Environment??
HOW TO : Linksys SRX200 + Emule
Quick guide to configure your Linksys SRX200 router/switch to support emule.
- Assign a static IP address in the range assigned to you by the wireless router. In this case, Linksys assigns the 192.168.1.0/24 range. I will use 192.168.1.50 as an example.
- Open a browser window and go to http://192.168.1.1
- Log in with your admin credentials (it is admin/admin by default).
- Click on the “Application and Gaming” tab.
- Make sure that you are on the “Port Range Forward” page.
- Enter the following information
- Click on “Save Settings”
- Launch Emule and you should be in business 🙂
Application : Emule
Start : 4660
End : 4712
Type : Both
IP Address : 50
Enable : Checked
More on cooking
One of my favorite sites (blog) on cooking is http://mahanandi.nandyala.org. The author has a great writing style (which I hope, I can copy one day 🙂 ) and an awesome taste for unique dishes.
On a random note, here is a list of cuisines I have tried so far
- Indian – Andhra
- Indian – Tamil
- Indian – Punjabi
- Indian – Gujrathi
- Indian – Kannada
- Malaysian
- Vietnamese
- Chinese – Cantonese
- Chinese – Mandarin
- Italian
- Mangolian
- Korean
- Middle-Eastern
- Russian
- Polish
- Japanese
- Brazillian
- Costa Rican
- Cuban
- Mexican
- American
- Korean
- Ethiopian
- Argentinean
In short, I love my food :).
RECIPE : Masala Upma
If you are hungry and want to cook something quick (which is the case with me and Laksmi all the time 🙂 ), here’s a recipe for masala upma. Upma is a south Indian dish usually eaten as breakfast. It is also eaten as a snack and can be prepared pretty easily. Masala Upma is a variant of the dish with some spices and vegetables. Credit for the recipe goes to my sister-in-law.
Ingredients:
- 2 Cups Wheat Rava (Semolina)
- 1 Small Onion (chopped)
- 4 Green Chillies (jalapeno)
- 1/2 Cup Cashew Nuts
- 2-4 Full Cloves
- 1 stick of Cinnamon
- Couple Bay Leaves
- 1 Cup of mixed vegetables (Corn/Beans/Carrots)
Here’s a picture with all the ingridients in their glory

Process:
Heat up some oil in a pan. Add a spoon of mustard seeds (aavalu), Cloves, Cinnamon and let them sizzle for a minute. Add the onions and when they get golden brown, add the chillies, bay leaves, mixed vegetables, salt and the cashew nuts. Stir fry for a minute and add 4 cups of water (add two cups of water to every cup of rava). Bring the water to a boil and add the rava to the mixture, while stirring it. When the mixture thickens, let it simmer for a few minutes and add some chopped cilantro on the top. Enjoy the dish hot :).
Here’s a picture of the dish

Windows Command : How to get MAC address
I knew that you could get the MAC address of a network interface in Windows, by using “ipconfig /all“. Just discovered, this new command (that only works in Windows XP) “getmac“.
Exchange 2003 : Logging
If you are trying to troubleshoot an issue with Microsoft Exchange 2003 and need more verbose logging, you can get additional logging by
1) Launch Exchange System Manager
2) Drill down to the server in the Administrative Groups
3) Right click on server and click on properties
4) Open the “Diagnostic Logging” tab and enable logging on any of the exchange modules
You can check the logs from the event viewer.
Chicago Marathon 2006 : Thoughts..
It was a blast to see the runners braving the 45F weather to run the 2006 Chicago Marathon. I signed up for the marathon, but didn’t run it because I didn’t get to train (something called a job took up all my free time 🙂 ). I took a ton of pictures, but the two below convey the spirit of the day
Freeeeezing 🙂
You go girl!!!
C# tools
Here’s all you need to start dwelling in C#
.NET Library from http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx
Visual C# Express from http://msdn.microsoft.com/vstudio/express/visualcsharp/
Programming : C#
I have been itching to program in C# for a long time now.. finally got a chance to try it out due to requirement at work. Here’s a small snippet of code that does a bunch of things
1) Opens a directory and get a list of files in it
2) Parses the file name into multiple variables
3) Connects to Active Directory and gets properties for a user
4) Creates an error file with list of errors.
5) Creat an output file in csv format.
For the programming gurus out there, this should be pretty easy :).. I am sure that there are tons of errors in the way, I wrote the code, but this is a beginning :).
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.DirectoryServices;
namespace sortAssetData
{
class Program
{
static void Main(string[] args)
{
// Create a Log file and output file
System.IO.TextWriter infoLog = new System.IO.StreamWriter(“sortAssetDataLog.txt”);
System.IO.TextWriter outputLog = new System.IO.StreamWriter(“finalAssetData.csv”);
// Write the column headers into the output file
outputLog.WriteLine(“Last_Name, First_Name, Display_Name, Batt_Check_Version, Model_Type, Model_Number, Serial_Number, Batt_Manufacturer, Batt_Model, Batt_Serial_Number, Affected”);
// Define the folder where the data files are sitting
string fixDirectoy = “P:\\BatteryCheck_Results”;
// Change working directory to the folder with all the files
System.IO.Directory.SetCurrentDirectory(fixDirectoy);
// Create a directory object to get list of asset files
System.IO.DirectoryInfo tempDirObject = new System.IO.DirectoryInfo(fixDirectoy);
// Get list of *.csv files in the asset folder
System.IO.FileInfo[] listOfFiles = tempDirObject.GetFiles(“*.csv”);
// Process each file in the directory
foreach (System.IO.FileInfo tempFile in listOfFiles)
{
// Display the current file that is being processed
System.Console.WriteLine(“Processing : {0}”, tempFile.Name);
infoLog.WriteLine(“Processing : {0}”, tempFile.Name);
infoLog.Flush();
// Split the file name into Domain, Hostname, Username
string tempData = tempFile.Name;
// Removing the .csv at the end of the file name
tempData = tempData.Replace(“.csv”, “”);
string[] sortData = tempData.Split(new Char[] { ‘_’ });
// If file name doesn’t contain 3 records (Domain, ComputerName and UserName), we ignore it
if (sortData.Length != 3)
{
infoLog.WriteLine(“ERROR : Bad file format : {0}”, tempFile.Name);
infoLog.Flush();
continue;
}
// Display the userdata we got from the file name
System.Console.WriteLine(“\nDomain :\t {0}”, sortData[0]);
System.Console.WriteLine(“Computer Name :\t {0}”, sortData[1]);
System.Console.WriteLine(“User Name :\t {0}\n”, sortData[2]);
// Get the users full name from ActiveDirectory
System.DirectoryServices.DirectorySearcher searchUser = new System.DirectoryServices.DirectorySearcher();
searchUser.Filter = String.Format(“(SAMAccountName={0})”, sortData[2]);
searchUser.PropertiesToLoad.Add(“cn”);
searchUser.PropertiesToLoad.Add(“givenname”);
searchUser.PropertiesToLoad.Add(“sn”);
System.DirectoryServices.SearchResult resultFromAD = searchUser.FindOne();
// If the username doesn’t have a AD account, note and skip to the next file
if (resultFromAD == null)
{
System.Console.WriteLine(“ERROR : Bad User name : {0}”, sortData[2]);
infoLog.WriteLine(“ERROR : Bad User name : {0}”, sortData[2]);
infoLog.Flush();
continue;
}
else
{
//Parse the file and write data to the log file and also to the screen
System.IO.StreamReader tempSoureFile = new System.IO.StreamReader(tempFile.Name);
// Read the first line in the file and ignore it
string tempAssetData = tempSoureFile.ReadLine();
// Read the second line and store it to write to outputfile
tempAssetData = tempSoureFile.ReadLine();
string tempUserFirstName = resultFromAD.Properties[“sn”][0].ToString();
string tempUserLastName = resultFromAD.Properties[“givenname”][0].ToString();
string tempUserDisplayName = resultFromAD.Properties[“cn”][0].ToString();
outputLog.WriteLine(“{0},{1},{2},{3}”, tempUserFirstName, tempUserLastName, tempUserDisplayName, tempAssetData);
outputLog.Flush();
System.Console.WriteLine(“User First Name:\t {0}”, tempUserFirstName);
System.Console.WriteLine(“User Last Name:\t\t {0}”, tempUserLastName);
System.Console.WriteLine(“Display Name:\t\t {0}”, tempUserDisplayName);
}
}
System.Console.ReadKey();
infoLog.Close();
outputLog.Close();
}
}
}
Cool Links of the day
Links to some cool projects around the web
Yahoo : Time Capsule : http://timecapsule.yahoo.com/capsule.php
Ms. Dewey : Search Engine with a beatuful host 🙂 : http://www.msdewey.com/ (Hint: As her what her age is 🙂 ).
