Monday, September 11, 2006

MDB Browser and Editor

MDB Browser and Editor - Download.com This application can be used to work with tables from databases created in Access 97 or 2000 in a manner similar to FoxPro 2.6. You can open tables or SQLs from a view window, browse, set, create or delete indexes, set relations, copy to text or another table, append from text or another table and delete records. And its FREE!

Sunday, September 10, 2006

Wednesday, September 06, 2006

Practical .NET 2 and C#2 Chapter: Collections

Practical .NET 2 and C#2 Chapter: Collections While looking for articles/books on the new features of C#2.0 and .Net2.0, I came across this book. Some of the samples on the site are useful starting points.

Practical .NET 2 and C#2 Chapter: Collections

Practical .NET 2 and C#2 Chapter: Collections While looking for articles/books on the new features of C#2.0 and .Net2.0, I came across this book. Some of the samples on the site are useful starting points.

Preparing for emergencies

Scott Hanselman's Computer Zen - 2006 Resolution - Prepare This article talks about what one should have to deal with emergencies. This article is different from others as it talks about the types of documents that one should keep copies of as well as how one can carry them on a USB stick. The tools that he recommends Keith Brown's Password Minder for keeping track of all your passwords. and TrueCrypt to encrypt all your important electronic data (especially what you may carry on a USB stick)

Finding Great Developers - Joel on Software

Finding Great Developers - Joel on Software Another good article on looking for great developers to hire into your team.

Finding Great Developers - Joel on Software

Finding Great Developers - Joel on Software Another good article on looking for great developers to hire into your team.

XML Notepad 2006

I am always looking for tools that I can use to view and edit XML files.

Came across XML Notepad 2006 a Microsoft tool.

And its my new favorite XML editor/viewer.

My favorite feature, the deal clincher, is the fact that it understands SOAP xml files and its FREE.

I used to use XMLDocViewer, but that one only allows viewing of files. This new MS tool allows editing too.

I JUST LOVE IT!

Tuesday, September 05, 2006

Window's Live Writer

 

This post has been made using Window's new blog posting tool, Window's Live Writer.

And so were the previous two. And it is really good and easy to use. I am hooked.

Interop 101 in .NET

 

Previously, I had included links to BorisJ's article on interop.

Here is the 3rd installment in that series.
Interop 101 - Part 3 : http://blogs.msdn.com/borisj/archive/2006/09/02/73...

Also, for convenience, here are the links to the previous 2.
Part 1: http://blogs.msdn.com/borisj/archive/2006/07/29/683061.aspx
Part 2: http://blogs.msdn.com/borisj/archive/2006/08/21/711530.aspx

Unresolved external symbol ?.ccto@@$$FYMXXZ

 

Using Visual Studio 2005 and getting the following error LNK2001: unresolved external symbol ?.cctor@@$$FYMXXZ" (?.cctor@@$$FYMXXZ)

Well its most probably because you have the /ZI flag enabled for the compiler settings. Remove it and then recompile. It most probably will go away.

To remove it go to your managed C++ project settings. Under C++ >> Command Line, remove the /ZI setting from "Additional Options".

Hanoi: A simple C# solution

Here is a simple towers of Hanoi solution in C# public static void SolveSubHanoi(int n, string start, string end, string intermediate) { System.Console.WriteLine(n + " " + start + " " + end + " " + intermediate); if (n <= 1) { //move topmost from start peg to end peg System.Console.WriteLine("c1:" + start + " --> " + end); } else { //move n-1 discs to intermediate position SolveSubHanoi(n - 1, start, intermediate, end); //now move the n(th) disc from start to end System.Console.WriteLine("c2:" + start + " --> " + end); //now move the n-1 discs from intermediate to end SolveSubHanoi(n - 1, intermediate, end, start); } } And all you do is call it so: SolveSubHanoi(n, "Peg A", "Peg B", "Peg C"); //where n is the number of discs. "Peg A" contains all the discs at start and "Peg B" will get all the discs at the end. Recursively, this solution solves the movement of (n-1) discs at each step. This is the basic idea for the solution of the 750 points problem in the practice room of Google CodeJam.

MSI Installer - Selecting the Everyone option in the Select Installation Folder dialog

When running an installer, the dialog "Select Installation Folder", has an option for installing the application for either "Everyone" or "Just for you". And "Just me" is the option selected by default. Recently for one of our applications, we wanted it to default to "Everyone". Turns out that changing the default option cannot be done through the Installer solution. You need Microsoft's MSI editor tool "ORCA". Here is what you need to do: Install ORCA. After which if you right click on an MSI file, you get the option: "Edit with Orca". Select it, to open the MSI in ORCA. The MSI file is basically a specialized database, and ORCA allows you to edit it. To change the default to everyone, navigate to the table "Property". Change the value for the entry FolderForm_AllUsers from "Me" to "ALL". And thats it. Fire up your installer, and it should automatically default to the "Everyone" option.

Monday, September 04, 2006

FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E

System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E) This was the arcane error message I recently started getting when I tried running one of the C# projects I was trying to build. Obviously, it was some dependency that .NET was not finding.... but why couldn't it just tell me what dll it was looking for. Normally, for such problems, I fire up Fuslogvw.exe, to find the problem. But no.... FusLogvw.exe wouldnt register any error messages. After some thought, I started looking at all the dependencies my project had and found that the problem was one of the native DLLs that the project needed. Once, I put that in my output folder, voila the problem disappeared. So the solution for 0x8007007E, is search for a native DLL that your project relies on and see if its not in the application folder or the Windows\System32 folder: coz thats what is most probably causing the failuer.

Friday, September 01, 2006

Multi Monitor Software

Recently, I came across MaxiVista, an interesting software for using multiple monitor. Currently, at work I use UltraMon (http://www.realtimesoft.com/ultramon/overview/), to control the 2 monitors connected to my desktop developlment machine. What I love about UltraMon, is that it gives me a task bar for my other monitor, so applications shown in that screen, appear on the status bar for that screen. It runs fast, and in the two years I have been using it, I have had no problems or complaints. (It also has some cool tools for screensavers and wallpapers). So, what about MaxiVista. It doesnt seem to handle status bars for multiple monitors. But it can enable networked computers as multiple monitors. UltraMon, works only with multiple monitor display cards. MaxiVista, allows you to extend your screen using a second networked computer (so you could use your notebook as a second monitor). Their demo looks vast and impressive. (Havent had a chance to personally try it, but I have a computer at home that I would like to try it on). MaxiVista - Multi Monitor Software: "MaxiVista turns any spare PC into a second monitor for your main computer. No extra hardware required. You can seamlessly extend program windows across multiple screens like it would be a single big monitor. Increase your productivity by using multiple monitors " Here is another software : MultiMon, which is free:http://www.mediachance.com/free/multimon.htm Here is a UltraMon look a like : http://www.digitaltigers.com/zenview-manager.shtml