Ya, the story is about Google Adsense account. I registered for GoogleAdsense account 2 year back in August 2004 and last week my payment of $100 got approved.
Actually, it took a loooooooooo
ng duration because visitors to my website were very less. But now I have pretty good number of visitors and expecting next payment in five-seven months.
Heartiest thanks to all my visitors!
~ Ankit
Damn Yahoo! Damn his Toolbar!
What I did?
I just upgraded Yahoo messenger 8.1 as requested by software
What it did?
It installed yahoo toolbar without asking
It set Yahoo.com as homepage without asking, it didn’t honored my existing homepage
It modified my preferences without asking.
Even a lot of people are complaining about the same DAMN toolbar. Here are a few:
http://wildrun.blogspot.com/2006/12/how-do-i-get-this-bleeping-yahoo.html
http://blog.forret.com/2006/10/yahoo-toolbar-is-misbehaving/
The approach yahoo is choosing to publicize its tool is against software distridution laws and should be condemned. What say?
These days I’m writing a tool for Visual Studio that integrates with Team Foundation Server. This post is about how to retrieve/fetch history of a file from source control server using TFS-SDK. Following function takes server name and file path as input and returns an enumerator holding Changeset objects.
public static IEnumerable FetchHistory(string serverName, string filePath)
{
TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(serverName);
VersionControlServer vcs = tfs.GetService(typeof(VersionControlServer)) as VersionControlServer;
ExtendedItem[] itemArray1 = vcs.GetExtendedItems(filePath, DeletedState.NonDeleted, ItemType.Any);
if ((itemArray1 == null) || (itemArray1.Length == 0))
throw new Exception(“There are no items.”);
ExtendedItem item1 = itemArray1[0];
IEnumerable enumerable1 = vcs.QueryHistory(filePath,
VersionSpec.Latest, item1.DeletionId,
(item1.ItemType == ItemType.Folder) ? RecursionType.Full : RecursionType.None,
“”, new ChangesetVersionSpec(1),
VersionSpec.Latest, 0×7fffffff, true, false);
return enumerable1;
}
To compile this successfully you also need to add references of following two assemblies found at [VS installation directory]\Common7\IDE\PrivateAssemblies\:
Microsoft.TeamFoundation.Client.dll
Microsoft.TeamFoundation.VersionControl.Client.dll
Call to this function should be made as follows:
FetchHistory(“[serverName]”, “$/Project1/Class.cs” );
- Ankit
 |
Why do I blog?
- Is that to make money to run this website through ads?
- Making an identity on Internet?
- Being on the top of Google?
- Sharing my knowledge?
- Having a platform to write and publish what I think and what I like?
|
|
It means all for me , and that’s why I write blog.I remember the day when Dad subscribed for an ISP, and I touched Internet first time (1999). Those were the days of Netscape Navigator v4.5 and Yahoo rocking. Netscape had a build-in HTML editor, that attracted me right away and I started playing with those tags without any book/reference. It was not just an attraction, it was more than a passion which led me to Computer Science engineering and being an IT professional.
I have been in this business since college days, when we friends (Vinod, Saurabh…) just fought to build a better and informative website using free hosting packages. We always kept track of new web-based-services. Even though we encouraged students by organizing Best Web Programmer contest – not only building a website but also publishing it. The fight continued and we need something to update that html content regularly. Actually, we were looking for something that allows us to modify html pages without any hassle and publish right away from any where. Here we encountered the term ‘dynamic website’, and started looking for open source forums/blogs/journals.
That fever continued and compelled me to buy a domain and host my blog.
Humm… … so that’s now called blogging fever
we discuss about blogs, ask people to visit ours, keenly wait for comments…
That’s how I started !!!
~ Ankit |
Blogs around me:Chirag, Mohit, Harsha, Kiran & more…
One nice feature of WPF (Windows Presentation Foundation, .Net 3.0) is the integration of 3D library with the existing framework. Today I worked with Viewport3D class. This class handles it all for managing 3D views. The “Hello World” example I coded here basically demonstrates three features:
- Loading XAML dynamically at runtime
- Playing with 3D objects using Viewport3D and make them rotate using mouse.
- Creating transparent and full-screen windows
Let’s drill down to the technical details of above three aspects:
Firstly, loading XAML runtime can be achieved using System.Windows.Markup.XamlReader class. The Load function takes a stream object (containing XAML source) and return appropriate UI control. Actually, it returns the root control in the stream.
FileStream fs = File.OpenRead(fileName);
this.view3D = (Viewport3D) System.Windows.Markup.XamlReader.Load(fs);
Secondly, the class Viewport3D does it all for you to handle 3D objects. Here we have just hooked mouse events that allows rotation of 3D object in all directions. Moreover you can zoom in/out using right mouse button. Thanks Daniel for writing TrackBall class.
Lastly, setting few parameters as below we can make a Window appear transparent and full-screened:
this.win = new Window();
win.Content = view3D;
win.ShowInTaskbar = false ;
win.Background = Brushes.Transparent ;
win.AllowsTransparency = true;
win.WindowStyle = WindowStyle.None ;
win.WindowStartupLocation = WindowStartupLocation.CenterScreen ;
win.WindowState = WindowState.Maximized;
win.Show();
Well, I guess that’s enough for the first WPF post.
Download the source code for sample application: Load-3D-XAML-Runtime.zip
Thanks for reading.
~ Ankit