this is how skydrive partal shows up this morning. Windows live gone
for a toss today.
[The views expressed on this website/blog are mine alone and do not necessarily reflect the views of my employer.]
Sunday, November 14, 2010
Tuesday, June 15, 2010
Back to blog
Breaking silence. As new means of sharing information like twitter, wave, buzz etc.. came out I thought blog is kind of out dated platform. But I am not finding them as a perfect alternative thus thought of resuming blogging again.
Sunday, January 03, 2010
Thursday, November 19, 2009
Its 5 years of blogging
Anyway it gave me so much pleasure in last 5 years and keeping me motivated to persue it further.
Saturday, October 24, 2009
Back on BSNL broadband
Here goes connection quality.
And to my suprise BSNL gave me a wireless modem WA3002G4. Pretty decent one.
Taking power availability here, I may need to go for a small battery till I decide on Inverter.
Feeling to be connected after long time.
Monday, August 31, 2009
Resuming .....
Thursday, July 09, 2009
It is 11 years now
As on today my professional career completed 11 years. Longest vacation I ever had was for 11 days.
Somehow I am feeling like that is not enough to reset the garbage that I collected. I wish giving myself a break for couple of months to do something that is close to heart.
I just want to kick start my Bullet and hit roads till I reach a mountain peak where I can live at least a day without having a connection to anything in this world.
Thursday, June 25, 2009
Is twitter an alternative for opinion polls?
Looking at http://fixoutlook.org/, I feel it is as another facet of twitter as a tool for collecting opinion poll. Regular radio buttons, checkboxes wont allow you to express your view. They force you to choose from what is asked for. I guess twitter approach is giving better handle to express the opinions. Any idea how to parse live twitter updates in public timeline?
Thursday, May 28, 2009
Monday, May 04, 2009
Wild west stunt show in Ramoji Film City
Ramoji Film City, the largest film studio complex in the world as certified by Guinness World Records, is an ultimate leisure destination for holidays in Hyderabad. Following photograph taken before the start of the show. It is just a part of complete set.
This particular show is so realistic and really makes you watch again and again.
Monday, April 27, 2009
A Self-confessed Slave
“For people who are stupid, we say that they lack a brain. Figuratively, we associate a condition with an organ and say that that organ is missing. So if someone is weak and pliable, we say that they lack a spine or a backbone. Someone cruel and inhuman, we refer to as heartless. With the lack of courage, we associate gutlessness. Emasculation has obvious connections. So I was wondering: which organ or part of the body is there an association with ethics? If someone lacks all sense of morality and ethics, what part of the body are they missing?”
Though the context of original article is different, these words carry much broader meaning.
In my sense dealing with a cruel person is far easier than dealing with unethical person. Moral consciousness is the ability by means of which we perceive what is good and what is bad. In my opinion those who lack sense of morality are deaf and those who lack ethics are blind.
We we are placed in a situation to judge based on arguments from either side we are expected to show morality. That is why I feel lack of morality is like being deaf.
Similarly ethics are intangible. They are just perceived. But only those with an eye can perceive them. Thus in my opinion those who lack ethics are blind.
Wednesday, April 15, 2009
Know your polling station
http://www.cyberabadpolice.gov.in/knowyourpolicestation/pollingstations/
First get your polling station number from http://ceoandhra.nic.in/Final_erolls_2009_II.html then check for polling station number under police station from above site.
Looking for route is a bit tedious task, but the image resolution is good enough. You can zoom in and check for Route number and polling station number
Excellent work done by Cyberabad police.
Tuesday, April 07, 2009
GMail is 5 year old
On April 2 GMail turned 5. I switched to GMail on 8/30/04. Since then it is serving as my primary web mail ID.
When I started it offered me 1 GB free space and on today it offers 7GB+. I still trying catching up my 1 GB.
GMail made possible easy to archive and label. Also kind of never delete a mail is a reality now.
Search within mail is awesome. Stars, filters, key short cuts. More to that it offers authentication to blogger and many other services. One feature that I feel like having is auto archive the ones that are labeled after configured time span.
Anyway it wonderful journey with GMail so far and I assume that GMail will stay for ever and ever.
Saturday, March 14, 2009
Experts Exchange subscription
Online forums are always helpful. But sometimes you end up with paid solutions like experts exchange to get a more closure solution. During last year I was in similar situation and paid for a premium service for a month. And I used my credit card to pay it.
But unfortunately EE stored my cc details and charged my card every month since then. As it is small amount it went un-noticed.
Today I just cancelled. I am sure there is no where I selected for a recurring payment on monthly basis. Be watchful about EE.
Sunday, February 15, 2009
Office Communicator Mobile 2007 R2
Today I installed OCM 2007 R2 on my mobile. I guess my organization hosts OCM 2007 server not R2. But earlier I was not able to connect to server using server specified configuration. But with OCM 2007’s Auto configuration feature it just connects in 10 seconds and brings status of contact quickly. I even tried sending couple of messages. I use Asus P320, Windows Mobile 6.1 Professional. This is very useful for Windows mobile users.
Visual Studio 2010 to include Wix 3.0
We are using beta version of wix. Though it offers everything that is needed at this moment; we are waiting for Wix 3.0 just to be with release product. According to this post Wix 3.0 will be included in VS2010.
Its a really tool for installation needs where module developers can have closure interaction with packaging team.
And for exclusive packaging teams promising way ahead is Wix.
Monday, February 02, 2009
Parsing comma separated files (csv) in C#
Parsing a comma separated file. This task sounded so simple for this till the time I received couple of bugs.
Initially I attempted with a simple approach as shown below.
using (StreamReader csvFile = new StreamReader(filePath, Encoding.Default))
{
//First line must contain columns
string csvHeader = csvFile.ReadLine();
//Comma seperated values
csvColumns.InsertRange(0, csvHeader.Split(','));
}
Due to these bugs I educated myself about rules of CSV. I can quote couple of references here.
Wiki Comma-separated values and CSV standard.
Important point to note here is that each value in CSV can contain a comma or newline or quotes embedded in itself.
This simple point changes rules of games very much. Normal stream operations to read line are of no use here. As well split functions are of no use. So only option left out is to parse byte by byte watching for characters to skip and add.
Here is the code using which I managed to parse a Csv and resolved bugs. It is too primitive but works.
namespace CsvUtilities
{
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Globalization;
public sealed class CsvParser
{
//constants
private const int quote = '"';
private const int comma = ',';
private const int carrierreturn = '\r';
private const int linefeed = '\n';
//File Name
private string fileName;
/// <summary>
/// File name propery
/// </summary>
public string FileName
{
get { return fileName; }
set { fileName = value; }
}
//shared reader
FileStream reader;
//Flag to signal end of line
private bool endofline;
#if DEBUG
public TimeSpan timeSpan;
#endif
/// <summary>
/// Default parameter less constructor
/// </summary>
public CsvParser()
{
}
/// <summary>
/// Constructor to set file
/// </summary>
/// <param name="fileName">File name to parse</param>
public CsvParser(string fileName)
{
//Input validation
if (String.IsNullOrEmpty(fileName))
throw new ArgumentException("File name can not be null");
if (File.Exists(fileName) == false)
throw new FileNotFoundException(fileName);
this.fileName = fileName;
}
/// <summary>
/// Parses Csv and return a data table
/// </summary>
/// <param name="headerIncluded">If header is not included colums will be named Column(x)</param>
/// <returns>Data table with rows populated from Csv file</returns>
public DataTable Parse(bool headerIncluded)
{
DataTable dataTable = new DataTable();
dataTable.Locale = CultureInfo.InvariantCulture;
DataRow dataRow;
//Input validation
if (String.IsNullOrEmpty(fileName))
throw new ArgumentException("File name can not be null");
#if DEBUG
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
#endif
using (reader = new FileStream(fileName, FileMode.Open))
{
string value;
int idx = 0;
//Header handling
while (reader.Position != reader.Length)
{
value = GetValue();
if (headerIncluded == false)
{
value = "Column" + idx++;
if (endofline)
reader.Position = 0;
}
try
{
dataTable.Columns.Add(value);
}
catch (DuplicateNameException dnex)
{
throw;
}
if (endofline) break;
}
//Initialization
dataRow = dataTable.NewRow();
idx = 0;
endofline = false;
//Row handling
while (reader.Position != reader.Length)
{
value = GetValue();
dataRow[idx++] = value;
if (endofline)
{
dataTable.Rows.Add(dataRow);
dataRow = dataTable.NewRow();
idx = 0;
endofline = false;
}
}
}
#if DEBUG
stopwatch.Stop();
timeSpan = stopwatch.Elapsed;
#endif
return dataTable;
}
private string GetValue()
{
char currentByte; // Current Byte
char nextByte; // Next Byte
Boolean withinQuote = false; // Is current position within a quote
List<char> bytes = new List<char>();
long position = 0;
//If stream is null throw exception
if (reader == null)
throw new ArgumentException("CSVDataset: stream can not be null");
if (reader.CanRead == false)
throw new ArgumentException("CSVDataset: Can not read stream");
while (reader.CanRead)
{
currentByte = (char)reader.ReadByte();
position = reader.Position;
//If at last position terminate
if (position == reader.Length)
break;
//peek next character
nextByte = (char)reader.ReadByte();
//As ReadByte moved cursor ahead bring cursor back
reader.Seek(position, SeekOrigin.Begin);
//Current character is within the quote
if (withinQuote)
{
//Is this character a terminating quote
if ((currentByte == quote) && (nextByte == comma))
{
reader.Seek(position + 1, SeekOrigin.Begin); //jump comma
break;
}
if ((currentByte == quote) && (nextByte == quote))
{
continue;
}
else
{
bytes.Add(currentByte);
continue;
}
}
if (currentByte == quote)
{
withinQuote = true;
continue;
}
if (currentByte == comma) break;
if ((currentByte == carrierreturn) (currentByte == linefeed))
{
if ((nextByte == carrierreturn) (nextByte == linefeed))
{
reader.Seek(position + 1, SeekOrigin.Begin); //jump CR+LF
}
endofline = true;
break;
}
bytes.Add(currentByte);
}
//Reading value completed. Return
return new string(bytes.ToArray());
}
}
}
Hope this is useful to start with. Advanced parsers can be found at codeproject http://www.codeproject.com/KB/database/CsvReader.aspx
Tuesday, January 27, 2009
Mcshield delaying system boot up time
Of late I am observing that my laptop takes long time to boot up. I am hunting in event log to to find probable reason.
One thing that I observed today is about vmware disk images. Because these are huge file Mcshield takes long time to scan those file for virus.
Actually I got these files in D drive. But still upon boot up these these files are being scanned causing delay in boot up time
“A thread in process C:\Program Files\McAfee\VirusScan Enterprise\Mcshield.exe took longer than 90000 ms to complete a request.
Build VSCORE.13.3.2.128 / 5300.2777
Object being scanned = \Device\HarddiskVolume2\xxxxx-x86.tar.bz2”
Any ideas on how to overcome this issue.
