Label Cloud

Wednesday, December 20, 2006

Blogger is out of Beta

Finally, The new and very much improved Blogger is out of beta. I had my blog hosted on blogger since the beginging and used the beta since well....beta. The main issue was API changes and there fore clients had to adjust whenever google made a backend change. Now that its out, hopefully, client support will improve as well.

Now if only Windows Live Writer can support all the blogger functionality and get to the RTM stage.


Share/Save/Bookmark

Wednesday, December 13, 2006

A VERY cool example of compiler optimization

http://blogs.msdn.com/abhinaba/archive/2006/12/13/why-can-we-only-use-constants-in-a-switch-case-statement.aspx

Reading Microsoft Blogs, I saw a great example of compiler optimization. Apparently, C# compiler is able to optimize case statement that is based on string constants. Once the number of cases reaches a specific level (example was with 7 cases including default) , the compiler switched from using if statement, to pre-populating values into a dictionary and doing a value lookup.

It really is amazing how good compilers are these day and proves once again

  • Do not try to outsmart the compiler
  • Do not over-optimize too early
  • Profile early, Profile Often


Share/Save/Bookmark

Monday, December 04, 2006

First experience in Office 2007 at work - Issue resolved

After a few days calls with Microsoft and submitting what seemed to be the first support incident related to Office 2007, I am up an running.

There was a problem with importing a NULL key in the old Outlook ergistry settings

The final solution was to remove (rename) the old Outlook key - HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook.

Update: According to the final report from MS, the problem was with the PONT_STRING key - HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\General] "PONT_STRING"=hex:33,32,2c,00 00 was the error value. Removing the key should have solved the problem as well.


Share/Save/Bookmark

Tuesday, November 21, 2006

Using the SQL Server Hosting Toolkit

I've been developing SQL Server based project in the office and on my laptop. Synchronizing the database changes both schema and data is complicated and I was looking for good tool to help with it. Well, now there is one.

Microsoft released a 2nd CTP of SQL Server Hosting Toolkit. Its soul purpose is to create a script to recreate schema and data of a SQL serve database. All it takes is two clicks using the wizard.


Share/Save/Bookmark

Thursday, November 16, 2006

WCF - Processing untyped messages from MSMQ binding

Now that .NET 3.0 is finally released, I am putting in some hours to see how it can be implemented in our infrastructure. Up front the power and flexibility of the framework is a bit overwhelming, however, the tools that are included are great. For example Service Configuration Editor has a great way to specify every setting required and optional for setting up WCF communication.

One of the components that I was looking to replace is a MSMQ Message Processing application. Basically it is a custom written MSMQ Trigger service. Well.. here goes.

WCF includes a binding for interconnecting with non-WCF MSMQ implementations. I've created the final prototype from the basic service sample, and created a ServiceContract interface and implementation class

[ServiceContract()]
public interface IMessageProcessor
{
   [OperationContract(IsOneWay = true)]
   void ProcessMessage(MsmqMessage<Stream> msg);
}

public class MessageProcessor : IMessageProcessor
{
   public void ProcessMessage(MsmqMessage<Stream> msg)
   {
      using (StreamReader sr = new StreamReader(msg.Body))
      {
         MessageBox.Show("Hello: " + sr.ReadToEnd());
         sr.Close();
      }
   }
}

Then added created a main form, and added start/stop events
 
internal static ServiceHost myServiceHost = null;
internal static void StartService()
{
   // Instantiate new ServiceHost
   myServiceHost = new ServiceHost(typeof(MessageProcessor));
   myServiceHost.Open();
}
internal static void StopService()
{
   // Call StopService from your shutdown logic (i.e. dispose method)
   if (myServiceHost.State != CommunicationState.Closed)
   myServiceHost.Close();
}
private void MainForm_Load(object sender, EventArgs e)
{
   StartService();
}
private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
{
   StopService();
}

The next step is to setup the app.config configuration file.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.serviceModel>
      <behaviors>
         <serviceBehaviors>
            <behavior name="Throttling">
               <serviceThrottling maxConcurrentCalls="2" />
            </behavior>
         </serviceBehaviors>
      </behaviors>
      <bindings>
         <msmqIntegrationBinding>
         <binding name="NewBinding0" exactlyOnce="false" serializationFormat="Stream" />
         </msmqIntegrationBinding>
      </bindings>
      <services>
         <service behaviorConfiguration="Throttling" name="WCFMQListener.MessageProcessor">
            <endpoint address="msmq.formatname:DIRECT=OS:.\private$\testqueue" binding="msmqIntegrationBinding" bindingConfiguration="NewBinding0" contract="WCFMQListener.IMessageProcessor" />
         </service>
      </services>
   </system.serviceModel>
</configuration>

The most time I've spent was to figure out how to read the non-xml formatted message. The key is to declare the method as

void ProcessMessage(MsmqMessage<Stream> msg);

and to adjust binding in the configuration file

serializationFormat="Stream"

The message can be read just as easily as a binary array.


Share/Save/Bookmark

Wednesday, November 15, 2006

First experience in Office 2007 at work

I took a plunge, and installed Office 2007 RTM on my office PC. Here's the picture of my Outlook starting up

And that's about all it does... Since this is my only office PC, if I can not get this resolved today (And MS Premium Support is already involved) - its a clean rebuild!!!
Ohh well, its a good exercise..


Share/Save/Bookmark

Monday, November 06, 2006

Because of a nail...

Yesterday, I heard a great Japanese saying

"Because of a nail, a horseshoe was lost Because of a horseshoe, a horse was lost Because of a horse, a message was not delivered Because a message was not delivered, a war was lost"

Its a great way to reiterate the importance of the weakest link. It is something to apply in development, architecture, work in general and pretty life as a whole.


Share/Save/Bookmark

Friday, October 27, 2006

Google Video Search is on the main google page

I wonder if this is the result of the you-tube buyout, our they were just ready. But either way it is cool. Now nothing stops you from finding that video you were looking for :)


Share/Save/Bookmark

Sunday, October 22, 2006

Disable Security Warning in IE7

One of the new security futures available in IE7 is a warning to correct your security settings if they are not considered "Secure Enough"

Microsoft does not give a good way to disable a warning, and for a good reason. The warning can only be disabled via a registry setting usually set by the group policy.

Here's the setting:

Key: HKCU\Software\Microsoft\Internet Explorer\Security\DisableSecuritySettingsCheck KeyType: DWORD Value: 0x1


Share/Save/Bookmark

MSBuild Community Tasks

I've tried to convert some of the projects from using NANT to MSBuild process, however, the lack of available build tasks was always preventing my from converting any of the advanced scripts.

Now I stumbled upon MSBuild Community Tasks. It covers a lot of the tasks supported by NAnt or NAnt contrib projects. There are still a lot of things to be desired, however, it provides some of the key tasks to make project creation easy. Together with tasks provided by MSBuild, the functionality is very comparable to NANT combined with NANT Contrib. Very, very impressive.

Here's an important yet easy example: Autoincrement version number of the build:

  • Open the .csproj file in notepad or your other favorite text editor
  • Add import directive to the one that already exists in the .csproj file
  • <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
  • Uncomment BeforeBuld and AfterBuild targets located at the end of the project
  • Add Version task to the BeforeBuild:
    <Version VersionFile="version.txt" RevisionType="Increment"> <Output TaskParameter="Major" PropertyName="Major" /> <Output TaskParameter="Minor" PropertyName="Minor" /> <Output TaskParameter="Build" PropertyName="Build" /> <Output TaskParameter="Revision" PropertyName="Revision" /> </Version>
  • Add AssemblyInfo task to the BeforeBuild target
    <AssemblyInfo CodeLanguage="CS" OutputFile="AssemblyVersion.cs" AssemblyVersion="$(Major).$(Minor).$(Build).$(Revision)" AssemblyFileVersion="$(Major).$(Minor).$(Build).$(Revision)" />
  • Remove AssemblyVersion and AssemblyFileVersion from AssemblyInfo.cs file
  • Add AssemblyVersion.cs file to the project

Now compiling the project will adjust version number in version.txt, and use the new version in generating AssemblyVersion.cs

Easy and Extremely Useful

Some Related Links:


Share/Save/Bookmark

Query ExPlus 2.0.1.1 is out

Two main items the release

  1. Drag and Drop from explorer
  2. Automatic packaging of Source and Binary files.

The second item is requires installed MSBuild Community Tasks from http://msbuildtasks.tigris.org/

More on that later


Share/Save/Bookmark

Friday, October 20, 2006

Using IE 7 and liking it, alot

Now that Internet Explorer 7 is finally released, I've tried it again as my main browser. I'm using it, and I'm liking it.

The UI is a bit different, and it takes me a few seconds to find the new STOP button. The menu is also in a different place. The interface is nice and clean. The tabs are finally an integrated part of the UI, instead of an ugly addon from MSN Toolbar.

Really no complains so far.


Share/Save/Bookmark

Tuesday, October 10, 2006

Query ExPlus 2.01 beta is out

  • Serious bug with saving list of connection strings is fixed.
  • Settings are now saved using .NET 2.0 settings API
  • help for command line arguments (-help)

Check it out at http://www.sourceforge.net/projects/queryexplus


Share/Save/Bookmark

Query ExPlus 2.0 beta is now on SourceForge

I've now officially merged code for the Query ExPlus 2.0 into the sourceforge repository. Look for the new release under www.sourceforge.net/projects/queryexplus

Here are some main highlights of the release:

  • Writen in .NET 2.0 - You will need Framework 2.0 installed as it is not backwards compatible
  • Code refactored to make it easier to extend
  • Support for command line parameters to automatically connect to the server
  • Copy data as CSV from the grid output is implemented

All new development is done on the 2.0 branch. I am not planning to backport new functionality unless I feel that it is very critical to the application use.

Please check out the source and the compiled appplication. As always, any comments are welcome.


Share/Save/Bookmark

Thursday, October 05, 2006

Back from Microsoft

The Microsoft trip was a blast. Great campus. Technology is everywhere. Very, very cool. I really liked the idea of providing every guest with a tablet PC loaded with OneNote. As you take notes or jot things down on the screen, everything is saved to a USB key chain. At the end of the trip, you take the key chain with you.

Some points from the trip:

  • It is all about the collaboration. People and applications share data, contacts, files, ideas, and everything in between.
  • Sharepoint is everywhere. It is the presentation server from MS. Every application we saw had a hook into Sharepoint.
  • Sharepoint will have a huge overhaul. It will now support extranet deployment. It will support a knowledgebase, mixed mode authentication, and is the content management solution.
  • Vista will be COOL. Great new technologies around performance, security and virtualization.
  • All server applications from Microsoft are designed from the ground up to be centrally managed and monitored. The idea is that with current technology, applications should manage themselves, or should be managed by other applications. But not by people. This idea is broader then just Microsoft. Microsoft is a part of the consortium behind Service Modeling Language
  • .Net - Well.. For one, there was once again a comment on ".NET 3.0 really should have been called .NET 2.5". It will be interesting to see how Microsoft responds to MONO. So far, it seems that Microsoft is discounting MONO as a viable .NET architecture. As far as Microsoft is concerned,  .NET means Windows. However, if the whole "Collaboration" idea is to work, it has to be beyond Windows.


Share/Save/Bookmark

Tuesday, September 26, 2006

Trip to Microsoft

I got a chance to visit Microsoft in its Seattle headquarters. so a few notes to follow.

But first thing first: Airline travel sucks, especially domestic airline travel. Just when I thought its impossible to cramp more seats onboard an airplain, Continental Airlines proved me wrong. I trully felt like a sardine for a bit.

Well enought complaining. I got a chance to finish some functionality in the Querty - Query Analyzer Alternative. New functionality includes: OleDB connectivity option, Copy from grid, more UI enhancements, and some bug fixes. I trying to use Querty as much as I can internally and future set is prioritised based on my need. The next to come is probably Find/Replace functionality.

It really looks close to be able to merge the code with the Query ExPlus as a version 2 of the trunk. Check out the download, any feedback is appreciated.


Share/Save/Bookmark

Thursday, September 14, 2006

FolderShare

I am really, really impressed with the foldershare software. It does exactly what I need it to do - synchronizes folder(s) between two computers across Internet. It does it well. It doesn't ask too many questions, but is not completely dumbed down. And it has some features that I didn't expect - ability to download files from my remote computer without having to install folder share on my local machine. I have a feeling everyone will need to use a software like it sooner or later. Bookmark the link so you don't forget: http://www.foldershare.com/ 5 stars!!!


Share/Save/Bookmark

Saturday, September 09, 2006

Query Express is now Query ExPlus on SourceForge

After downloading Query Express, I got in touch with the developer, Joseph Albahari, and asked him to put the project on SourseForge. A few more emails later regarding the Licensing (Source Forge does not support permissive free license), and a few days later, the Query ExPlus was born. Check it out at http://sourceforge.net/projects/queryexplus/


Share/Save/Bookmark

Tuesday, September 05, 2006

Steve Irwin dies after an attack by a sting ray

Steve Irwin - The "Crocodile Hunter" was a great naturalist and a TV personality. His sudden death is a tragedy and he will surely be missed.


Share/Save/Bookmark

Thursday, August 31, 2006

Where Is Time

Did you ever wonder where did you spend your 8 hour work day? Well, Here's a little utility I wrote to find that out.

Where Is Time?

The project is in C# - .NET 2.0. You should have no problem compiling it in 1.1 either. It has an example of how to use multi-threading with Windows forms, and .NET Interop.

Any comments are welcome


Share/Save/Bookmark

Monday, August 28, 2006

More Powershell tricks

Two other usefull scriptlets for the powershell

First function filters for only CLR files
Second returns CLR version that the assembly was compiled against.

function IsClr() {
process {
trap {continue;}
$asmb = $null;
$asmb = [System.Reflection.Assembly]::ReflectionOnlyLoadFrom($_.FullName);
if ($asmb)
{ $_ }
}
}

function ClrVersion
{
param ([System.IO.FileInfo] $fileInfo)
$asmb = [System.Reflection.Assembly]::ReflectionOnlyLoadFrom($fileInfo.FullName);
$refAssemblies = $asmb.GetReferencedAssemblies();
foreach ($refAssembly in $refAssemblies)
{
if ($refAssembly.Name -eq "mscorlib")
{
$refAssembly.Version
break;
}
}
}

Use Examples

dir | Clr

dir | IsClr | foreach-object{$V = ClrVersion($_); $_.Name + " " + $V.ToString()}


Share/Save/Bookmark

Sunday, August 27, 2006

Microsoft Atlas framework is renamed to ASP.NET 7.

This is one I did not expect. Joshua Flanagan has a blog entry enitled Formerly known as Atlas. It seems that Atlas framework has gotten a new name: it is is now officially called ASP.NET 7.0.

First of all, what ever happened to ASP.NET 3.0-6.0 (Joshua's blog explains the story). Second - I thought Atlas is about AJAX. Does it mean that Microsoft is using whatever left over projets it has to and calls them new versions of the software. May be not, may be it will have some more enhancements outside of Ajax. We'll just have to wait and see.


Share/Save/Bookmark

Friday, August 25, 2006

Trouble with the new Blogger Beta

Recently I started to use two new beta pieces of software for blogging. A few days back, I started to use Windows Live Writer The tool rocks. It did exactly what I need it to do, had a simple and clean interface, connected to blogger, and worked both in the corporate network and at home. Two days ago, I switched my blogger account to the new Blogger Beta - the second beta software. This experience was much less pleasing. I was planing to take a look at the new features. However, to use most of them, you'd have to switch your layout, and therefore loose the customizations that I had previously. The more serious issue that I've encountered was that my Windows Live Writer no longer worked! Apparently it is a known issue, Windows Live Writer is not compatible with Blogger Beta. I think its just an example of google not wanting to play nice with others. Too bad.


Share/Save/Bookmark

First time scripting with Powershell

Powershell (used to be Monad shell) is the great new command line shell from Microsoft. Now in RC1 with RC2 soon to come. Not only is it written in .NET, but .NET framework is at the core of the Powershell functionality. The shell is extremely scriptable, and even thought the language is not 100% C#, it gives you ability to tap into most of the .NET features.

Some things that you were only dreaming about doing in the old command prompt become extremely easy.

I wrote a simple script to let me check which assemblies are compiled with debug.

function IsDebug() {
process
{
trap {continue;}
$asmb = $null;
$asmb = [System.Reflection.Assembly]::ReflectionOnlyLoadFrom($_.FullName);
if ($asmb)
{
$Attribs = [System.Reflection.CustomAttributeData]::GetCustomAttributes($asmb);
foreach ($attrib in $Attribs)
{
if ($attrib.ToString().StartsWith("[System.Diagnostics.DebuggableAttribute") -AND
-NOT $attrib.ToString().StartsWith("[System.Diagnostics.DebuggableAttribute((Boolean)False") )
      {
       $_.Name + " Is DEBUG " + $attrib.ToString();
      }
     }
    }
  }
}

After the script is loaded, all I have to do is pipe a dir commandlet to IsDebug function like

dir | IsDebug($_)


Share/Save/Bookmark

Tuesday, August 15, 2006

What's in it for me?

I have a reputation for asking direct questions, and today was no different. I vendor that my company is dealing with has a product that is designed for our customers. So of course, they would like for us to talk about their product, and hopefully recommend it over their competitors. That's when I asked: "What's in it for me?" No, I don't mean, me personally, I mean for my company. How would proposing a third party vendor would makes my company stand out. And why do I have to ask a this question in a conversation about a business "relationship"

Lets look a the bigger picture. There are strong business relationships and there are weak ones. In a weak relationship, two companies work together by not stepping on each others toes, at least not too much and not every day. I can mention an unrelated product, I might even provide positive feedback, may be even recommend it to my customers. But all that comes without any direct benefit to my business.

In a strong business relationship, two companies work together to provide a better business solution for their customers. This relationship has to work both ways, and has to have a very clear and visible benefit to everyone involved. It has to be a wide, two way street.

This is happens all the time. Software and Hardware vendors communicate all on regular basis through these relationships. DELL and HP partner with Microsoft to make sure their hardware and software is tested for compatibility. Oracle partners with Sun to make sure they can properly scale and utilize the technological advances. Game developers work with console vendors to create games, and console vendors support game developers so their consoles have popularity.

So lets all work together for the benefit of both teams, I am all for it. I'll just make a note to myself, to always make sure I tell the other party what they will get out of a business relationship with me during the presentation. That way I'll avoid the question "What's in it for me?"


Share/Save/Bookmark

Jumping on the Windows Live Writer bandwagon

I am trying out the new Windows Live Writer. You can download it from the link above.

I really like the clean interface, the way that it integrated with my blogspot account and the .NET plugins. I have a good feeling about that I will be adding it to the list of my Toolset


Share/Save/Bookmark

Friday, August 04, 2006

I just got published on DevX - Gain Control of your .NET Logging Using log4net

Hey. I just got published on DevX

Gain Control of your .NET Logging Using log4net
Don't build logging capabilities for your applications from scratch; you can get robust and flexible logging functionality for your .NET applications with the free open source log4net framework, and then extend it to support custom needs.

by Timur Fanshteyn


Share/Save/Bookmark

Tuesday, August 01, 2006

Bush in good health but gains weight | US News | Reuters.com

Bush - The next Oprah. How many pounds did he loose / gain this week :)

Bush in good health but gains weight | US News | Reuters.com: "WASHINGTON (Reuters) - President Bush said on Tuesday he had gained four pounds (2 kg) because of 'too many birthday cakes,' but said he was feeling fine after his annual physical."


Share/Save/Bookmark

Monday, July 31, 2006

Timur Fanshteyn - Google Groups

My history on the net :) My oldest news post I was able to find was from on November 4th, 1994 - more then 12 years ago. Niiiicceee.... 1MB SIMMS


Share/Save/Bookmark

Sunday, July 30, 2006

Freeware and OpenSource Pt.2

A pretty large chunk number of applications are use daily are opensource applications. A list I'll try to keep up to date is here.

Being an active user of opensource software, being a not-so-active contributor so open source projects (I've submitted a few patches to some projects), and even having a project on SourceForge, I've been putting a little bit of thought into what starts and keeps OpenSource software going.

There a few reasons that I can think of:

  • Brand new software with no real commercial alternative, designed to be used by itself - There a lot of applications like this. I think most of these are smaller projects, utility applications, etc... - WinDirStat, SysInternal utilities, etc...
  • Applications created to support commercial products - NUnit, NDoc
  • Free, Open Source alternatives to commercial applications - NSIS, Subversion, QuickFix
  • Commercial Products released under Open Source - OpenOffice

The reasons above can be split into two categories: Projects that have commercial backing and products that don't. So the question I'd like to raise is how long will projects without commercial backing survive, and what will be the reason for survivor or their demise. Will they survive when corporations will put their resources to create commercial product against a free alternative. I've noticed the same questions asked by others to the project coordinators as well.
NUnit - "The Death of NUnit Revisited"
NDoc - "NDoc 2 is Officially Dead"
Considering how fierce is the competition between comercial products, will the OpenSource projects that are developed by some great developers during their spair time using their own resources, be able to stand up to the competition? Or will the projects live only as long as they are not good enough to be considered a competition by the coorporations, and die as soon as they become a threat (or atleast a competition)?


Share/Save/Bookmark

Freeware and OpenSource Pt.1

There are a couple of entries that I have to write on the Freeware and more importantly OpenSource project. I'll start with a few opensource products that I use on regular basis

  1. NDoc
  2. Nant
  3. NUnit
  4. WinDirStat
  5. CygWin
  6. QuickFix
  7. Subversion
  8. Tourtoise SVN
  9. log4net
  10. Emacs / XEmacs
  11. Console


Share/Save/Bookmark

Saturday, July 29, 2006

Microsoft: .Net Beat Java, Who's Next?

It is very exciting to hear that Microsoft considers .Java a beat. I would like to see some stats that would back that up though. Microsoft: .Net Beat Java, Who's Next? On a related note, it is very interesting how the focus shift for Microsoft technology will effect us. This relates to everything from Microsoft focusing a lot of its attention on consumer products (XBox 360, Zune, etc...) and Microsoft possible focusing on enterprise product development while considering the .NET Framework to be a great base to build on. I guess we will see soon


Share/Save/Bookmark

Friday, July 28, 2006

Learning something new

It is great when you learn something new, especially when its a little information that makes a huge difefrence. I used to have a multiple number of addins to provide the basic right click functionality, however, in VS 2005, it is available out of the box. Right Clicking on the file tab now provides you following options Close All Close All But This Copy Full Path Open Containing Folder Copy File Locaton in Solution Explorer -- jfo's coding : TIP: Try right clicking on the filetabs in VS 2005


Share/Save/Bookmark

Wednesday, July 26, 2006

MSDN Library available for free download

Microsoft made a shift in distribution of its MSDN Library. It is now available for free download from MSDN Library Download Previously, MSDN was available for download only for MSDN Subscribers, and there was actually a subscription level that provided only MSDN library.


Share/Save/Bookmark

Thursday, July 20, 2006

Working in Solitude

There are a lot of changes happening in the office. After business reorg, there is the chair reorg. All of my old team was moved to a different floor, all 15 of them. So until I get moved too (hopefully in the next two weeks) I'll be working in solitude.

The picture is of the cubicle next to mine. It sure is quiet here :)


Share/Save/Bookmark

Wednesday, July 19, 2006

Comments are added

Finally activated comments on the posts. Let's see if anyone is reading :)


Share/Save/Bookmark

Tuesday, July 18, 2006

SysInternals is bought by Microsoft

Sysinternals was aquired by Microsoft. Does tat mean that Process Explorer will finally replace Task Manager? For now, Sysinternals site is so slow (probably with everyone readin the news, I can't even login to retreive the blog entry :) Read it on CNet for now


Share/Save/Bookmark

Ethereal Is Renamed to WireShark

Ethereal - Now WireShark is a great tool that I've been using for a while to look at the network traffic and troubleshot all kinds of issues. Everything from remoting to FIX, to just browse through the traffic that is going on on the network port. The new homepage is at www.wireshark.org


Share/Save/Bookmark

Toolset

This is a list of the utility software that I have running on my development desktop

Windows Utilities
Toolset from SysInternals A requirement for system management. Process Explorer, Event Viewer, File Monitor, Registry Monitor, etc...
UltraEdit Trully great programmers text editor
Notepad++ Another great text editor - OpenSource and Free
FireFox Sometimes I feel like IE, some times I don't
WinMerge Great file/folder compare tool
SlickRun A nice, small, and very usefull Quick Run utility
Console Command Prompt Enhancer
TaskSwitch Pro Free ALT+TAB Replacement
PowerToys for XP PowerCalc, Tweak UI, etc...
CygWin toolset Unix utlities (includng XWindows) on windows
FolderShare Syncronize and access your files across the internet
WinDirStat Drive / Folder usage statistics with a nice graphical view of the used space
Windows Live Writer Blogging utility that from Microsoft. Quickly becoming my favorite
VMWare server Virtual Server software for VMWare
Daemon Tools Open any ISO file as a virtual CD drive
PureText A small utility that removes markup from clioboard text. The result is the same as pasting into notepad
Development Utilities
Reflector .NET assembly viewer
PowerShell .NET Command Line Processor
NAnt Build Script Processor
NUnit Unit Test Framework
NDoc Help file generator
NSIS Nullsoft Scriptable Installation System
MSBuild Community Tasks A colleection of MSBuild tasks. Many of them are so great and usefull, that should have been in included with MSBuild from the begining
Snippet Compiler Compile and run .NET Code snippets
CoolCommands VS Addin Add lots and lots of cool commands to the Visual Studio menus
Subversion Because it is a real surce control that happens to be free
TourtoiseSVN Because it makes my source control work in windows, the way every source control should
SQLPrompt Intellisence for SQL Editor. This really should be a part of the microsoft SQL tools
mtail Free graphical tail utility
LogParser Command line tool that lets you run SQL queries against a variety of log files and other system data sources


Share/Save/Bookmark

Saturday, July 01, 2006

David Ilan Fanshteyn

A wonderfull, tiny, new addition to my family. My second son was born this Thursday, June 29th, 2006 at 6:50 AM. Here's a little pic where he's only a few minutes old. CIMG0569


Share/Save/Bookmark

Friday, June 16, 2006

The end of an era

So Bill Gates decided to step down from his active role at Microsoft. I think that this is a pretty big event. An end of an era for one of the greatest companies (not just in technology) Here's to the new beginning. To the "Microsoft 2.0"


Share/Save/Bookmark

Monday, June 12, 2006

A Ring Tone That Only Teens Can Hear!

This is probably one of the coolest news stories that I've seen. There is a new ringtone that is used by teenagers but can not be heard by adults. There is a real science that is behind the ringtone. The range of human hearing shrinks with age about 2 decibels every 10 years. The ringtone is just outside the range of an average teenagers (just above 17-18 khz). The hearing of an adult end usually ends around 14-15 Khz and therefore ringtone is generally not heard by the adults. Check out more info here: Smartphone Thoughts :: View topic - Teen Buzz, A Ring Tone That Only Teens Can Hear!


Share/Save/Bookmark

Announcing msdnman

For all those Unix gurus, or just those who have a use for command line MSDN reader, here's msdnman


Share/Save/Bookmark

Google Earth gets an upgrade

More coolness in the Web world. Google world gets an upgrade. Google Earth - Home


Share/Save/Bookmark

Sunday, June 11, 2006

ASP.NET Enterprise Manager on Steroids: Ajax, Multiple DB types, And open source!

This seems awsome. This is a great example of taking the web to the next level, and might be a perfect solution for DMZ environments. ASP.NET Enterprise Manager on Steroids: Ajax, Multiple DB types, And open source!


Share/Save/Bookmark

Friday, June 09, 2006

.NET Framework 3.0

WinFX is getting renamed to .NET Framework 3.0. And it will be shipped together with Vista. And it will be available to XP and 2003. And it should not delay Vista any more (should is the key :) Yeee haaaa.


Share/Save/Bookmark

Thursday, June 08, 2006

Minh T. Nguyen's Blog : Visual Studio .NET Tips and Tricks - Free PDF Download

There is a great book that now is available completely free in PDF format. Free PDF-download of my book �Visual Studio .NET Tips and Tricks� on InfoQ.com The book comes in a non-printable format, but if you like it you can get a cope from many retailers.


Share/Save/Bookmark

Microsoft Jumps in the WIKI bandwagon

Microsoft just made a public a new site: msdnwiki.microsoft.com. There is quite a bit of press around it from the Microsoft bloggers. This is definetely something to keep a close look at.


Share/Save/Bookmark

Monday, June 05, 2006

Port25

SMTP This New site from Microsoft focused on "Communications from the Open Source Software Lab @ Microsoft" Check out Port25 (http://port25.technet.com)


Share/Save/Bookmark

Wednesday, May 31, 2006

Technorati Profile

Still working on enhancing my blog. Next: Technorati Profile


Share/Save/Bookmark

Tuesday, May 30, 2006

Making Changes

Just making some changes to my blog. There will still be some tweaking (as I am not that great at Web UI). New items are my BlogRoll (hosted by bloglines.com) and my LinkRoll (hosted by del.icio.us)


Share/Save/Bookmark

Monday, May 22, 2006

Red-Gate software does it again

Finally, Intellicense for SQL Query Analizer - Free http://www.red-gate.com/products/SQL_Prompt/index.htm Get it now (free until September 1st)


Share/Save/Bookmark

Sunday, May 21, 2006

WEB 2.0 and other developments

I am extremely impressed with the latest developments of the web. It is definitely taking on a 2.0 format, where I clearly see the next level of usability and usage advances. First of all the use of AJAX is finally making the web pages usable without going trough the regular "Fill the form" -> Submit -> Wait -> "Correct the Form" -> Repeat procedure. I finally see interfaces that resemble usability of the rich UI that we are all used to in the think client applications. No, there is still room to grow, and SmartClient applications are still safe, however, Web 3.0 might change that completely. Second, I am VERY impressed with the competition that google is receiving. Don't get me wrong, google is great. Search is amazing, I love the pluggable homepage, I use GMail and think that it's a truly great thin email client. However, the competition is getting really close. Even though I like the pluggable webparts, I still like the design of my.yahoo.com better. I prefer to have a two or three section design. I love the site, the idea of tags is just amazing. GMail works, but it is still hard to file the emails, I'd love to be able to have return receipts, multiple tags for emails, etc... Desktop search from MSN Toolbar, has a cleaner interface with the outlook then Google deskbar does. Overall, competition created a lot of great software that can be utilized. Third, I am really, realy, really impressed with the online communities. del.icio.us, Blog explosion, Flicker, WIKIs, etc.... It is really amazing how the community is driving the advances in the technology, and it is no longer a vendor who is making application happen, but rather the people who are using the application. The application is no longer the software that a you as a user gets to use, it is the content that is provided and the way that the content is created and organized by others within the community. Each application is like a giant ant farm, that with the proper display ca become a living and breathing form of art. well, what Web 3.0 will be we can only dream of, Or is it that we can change the world to make it happen :)


Share/Save/Bookmark

Thursday, May 04, 2006

Agile Projects in the real world

It's been a while since I've written a post, but this topic has been on my mind for a while. I've always been in favor of Agile project delivery, the Simplicity and "you are not going to need it" principals. I've seen it time and time again, that projects are overarchitected, overdesigned and are overpromissed. Teams spend months upon months on design meetings, requirements gathering, architecture comeeties. Then before the project is even close to the stable beta stage, multiple things happen:

  • A key developer leaves and developers who were not 100% sold on the design start picking parts of the projects to rearchitect
  • A new technology is introduced in the market that makes a lot of work already done on the project absolute
  • The customer (or business sponsor) changes his mind on the need for the project in the first place because the timeframe for the key deliverable was missed.

The article in the computerworld reflects on these issues, and I found it to be very comforting that I am not the only one thinking about this. http://www.computerworld.com/ managementtopics/management/story/ 0,10801,110951,00.html


Share/Save/Bookmark

Sunday, January 29, 2006

Technology-less solution

I've been reading some of the old saved blog entries on bloglines, and came to one very interseting entry by Chris Sells. http://www.pocketmod.com/ Provides a analog solution that is extremely simple and might (I've not tried it yet) be very good at orgonizing the simpe daily actions in your life.


Share/Save/Bookmark