Tuesday, October 02, 2007

Brand New Cool Hotmail Domains

I was surfing.. yeah...at ..5 in the morning what else do you expect?.. and I found that Microsoft has launched this kewl site : http://www.coolhotmail.com/. It allows you to create a Microsoft Windows Live Mail Id with a custom domain name.
I've created a list of all of them and 3 hidden domain names also.(Check out the source code of the page to see what I mean by that). The hidden(but visible in my list below) domain names are : appyfizz.in, gobingo.in and bemyself.in. I am not sure whether this will work for existing A/C or not, but sure its a boon for new users. I also liked the way they have put the UI and color elements. A must see for web developers.

Where I Live?Who I Like?Who I Am?What I Like?I Don't Fit - II Don't Fit - II
bangalorerocks.in clubaamir.com iamgood.in iloveyoga.in apunkaid.com ontheedge.co.in
chennairocks.in clubabhishek.com iamhot.in ilovetennis.in clickass.in soupedup.in
delhirocks.com clubabhishek.in iammarried.in ilovesoccer.in coolmail.co.in clingonbling.co.in
punerocks.in clubaishwarya.com iamsingle.in iloveshuttle.in samepinch.in jamnation.in
punerocks.com clubaishwarya.in iamsizzling.com iloveshuttle.com samepinch.co.in ufoff.co.in
mumbairocks.in clubamitabh.com iamsizzling.in iloveoldmonk.com koolmail.in drunkfunk.in
mumbaimail.in clubamitabh.in iamcold.in ilovechess.in koolmail.co.in flemgems.co.in
kolkatarocks.in clubasin.com iambald.in ilovefootball.in heybaby.in crazyflamingo.co.in
iliveinmalabarhill.in clubasin.in iambad.in ilovegoafeni.com gobingo.in laughterclub.in
iliveingoa.com clubdhoni.com martinian.in ilovegolf.in bemyself.in freakyfridays.co.in
hyderabadrocks.in clubdhoni.in boscoite.com ilovehockey.in charsaubees.com gumgang.mobi
goarocks.in clubdravid.com globallyunique.in ilovekabbadi.com individuality.in hangoveradda.co.in
goarocks.com clubdravid.in dangerouslyhigh.in ilovekabbadi.in itsaboutme.in gullidandagang.mobi
goaisbliss.com clubhrithik.com bungeejumper.in ilovecars.in itsmychoice.in Ruleatwork.co.in
goagoagoa.com clubhrithik.in goballistic.in ilovebikes.in iwanttobeme.in Breaktherules.co.in
emailmumbai.com clubjyothika.com imjustadreamer.in ilovebhavans.in leavemealone.in Pindropsilence.co.in
delhirocks.in clubjyothika.in slipperysadhu.in ilovebasketball.in mememe.in medco.co.in
metroonmove.in clubkajol.com trancemusiclovers.in ilovebadminton.in memyself.in wicom.co.in
delhi4u.in clubkajol.in lover4life.co.in vadapaavrocks.in mogambokhushhua.com pinacle.co.in
delhiden.mobi clubkamal.com jinxed4ever.net appyfizz.in pocketmaar.com hellstuck.co.in
delhifevers.in clubkamal.in partyanimals.co.in Footballfever.co.in shri420.in ringtring.co.in
unwinddelhi.in clubkareena.com ndanuts.co.in stumped.co.in thatswhoiam.in Neversaydie.co.in
delhihaatrocks.in clubkareena.in ministryofsoundlovers.mobi hittiewicket.co.in wassup.co.in bhaagambhag.co.in
salaamdelhi.in clubpreity.com Underpaid.co.in onetuppie.co.in freaknetwork.in headsyatails.co.in
dillidilwaloki.co.in clubpreity.in Overworked.co.in squarecut.co.in dancefreak.in mastblast.co.in
dillimanch.co.in clubrajni.com Bornleader.co.in chauka.co.in feelthebeat.in iamwhatiam.in
saddidillibindas.mobi clubrajni.in Peoplesperson.co.in pitchcontrol.co.in coldsweat.in ilovefuel.com
rugbyrocks.in berealistic.co.in ilovefuel.in
bhangrarocks.in
studentzindabad
shri420.in
bhangrarocks.com
gillidandagang.mobi


'Office Live Workspace' Announced

Hurrray... I was so much tired of Google's Online Spreadsheet.. that I stopped using it... at all..and now... here it comes.. just check it out.. you will have to wait for a while.. but yes.. you can pre-register...so go ahead... hit it hard...I am damn sure that UI is gonna be 1000 time better than the Google one...
Just check out the screenshots for registration and basic info.

Click here to go for Office Live Workspace.

Thursday, September 13, 2007

How to prevent a user from launching multiple instances of an application - .Net C# Code

Recently one of my friend asked me to solve a simple problem. How to prevent an end user from launching multiple instances of your application. Instantly it came to my mind - A Mutex(Very expensive resource though...) can be used and I digged some of my old work and here it is. So enjoy... this is far more better than going into processes list and validating your application is running or not?
using
System;
using
System.Windows.Forms ;
using System.Collections.Generic;

namespace

Skynet.Apps.NetBuddy
{
static class Program
{
/// <summary>
///
Define the Mutex
///
</summary>
private static System.Threading. Mutex PreviousInstance;

/// <summary>
///
The main entry point for the application.
///
</summary>
[STAThread
]
static void
Main()
{
Application
.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false
);
PreviousInstance = new System.Threading.Mutex(true , "NetBuddy");//Create a Mutex

if (PreviousInstance.WaitOne(0, false)) //Check for Existing Mutex
{
Application.EnableVisualStyles();
//Enable XP/Vista Visual Styles
Application.Run(new frmMain());
//Run Main Form
}
else
{
MessageBox .Show("You are trying to launch multiple Instance of NetBuddy." + Environment .NewLine + "This instance will terminate now.", "NetBuddy Warning", MessageBoxButtons.OK, MessageBoxIcon.Error);
//Warn User that another instance is running
}

}

}

}

Friday, September 07, 2007

GWT - Google Web Toolkit comes out of Beta

Before you come to read the main topic that is just a link and a paragraph, please read the mail below
------------------

From: Chinmay Patel
Date: May 18, 2006 2:14 PM
Subject: Introducing GWT - Google Web Toolkit
To: Team ESS

Hi All,

As we all know and believe, AJAX has the power to make our Web Apps more dynamic and more user friendly and more likely to Win Apps. However AJAX development is often complicated, with much of the development time spent working around browser quirks (Well... we target the great IE so we've an advantage over here) and the fragility of AJAX components(MSXML, Scripting and the CodeBehind in our case). Trust me, I know the development of our own AJAX apps caused us no small amount of AJAX-induced frustration.
And now, after working a lot on Scripting part of AJAX as well as codebehinds that work with AJAX, Today I see
this in my mailbox, an exceptional toolkit for AJAX Developers - GWT ie Google Web Toolkit.

As they say on official GWT Page:

Google Web Toolkit (GWT) is a Java software development framework that makes writing AJAX applications like Google Maps and Gmail easy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.

GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.

I believe we all will benefit a lot from this toolkit, though its made for Java we've got the skills to make it work with .Net.
So here it is with all the best wishes and faster AJAX Development
Download GWT
--
Thanks,
Chinmay Patel

Free thyself from the past, free thyself from the future, free thyself from the present. Crossing to the farther shore of existence, with mind released everywhere, no more shalt thou come to birth and decay.

------------------
Almost after a year I am revisiting the topic, as last week GWT came out of Beta and now is a Release Product. They've gone through many updates since last year and presents a really nice tool for Java developers as I have not tried it for .Net I won't comment on that part. Any takers?
Here is the link for latest information on Official Google Blog on GWT.

Wednesday, September 05, 2007

Yahoo! punches back to the spammers

Few days back, as usual I was tired... bored and thought of killing time so I fired up Y! Messenger and logged in and straightway went to chat rooms...and voila... I was shocked... each and every category I saw... Computer and Internet, Gujarat Global Chat, Gaming, etc was flooded with users. Each room was running on top of its capacity. Instantly I came to know that some massive and pretty smart Bot-Net was in action and was playing Havoc on Y!'s network. Infact there were some funny side effect(This is an assumption, I am not sure about it though), I was getting random users in my Y! popped up and some other random users were seeing me signing in ie even though I was not in their list, they got the notification when I logged in and logged out. It was funny... and not-so-funny for Y!. However within few days this got fixed and I was relaxed. I really don't like strangers asking me question how I popped up on their screen..and for that matter you also will not really like that. So actually I had to log out as it was virtually impossible to locate the room with real people... everywhere there were BOTS and I sighed.. and signed off...
And today... right now I logged in again to the Y! chat and I see one new one-inch punch from Y! for all the spammers and BOTs. No it is not some kind of Digital Martial Art, its a technology that is in use from quite a time and very popular among Web 2.0 outcomes - CAPTCHA. Y! has introduced CAPTCHA for Chat Rooms so whenever you try to go to any of the Chat Room it gives you a link to open when you open this link it presents you a nice interface to enter CAPTCHA information and once you do it successfully it allows you to enter and I must tell you it is working really fine now I see rooms much cleaner then they were ever used to be. And though it looks pretty lame to go to a web browser window before you actually can sign into a Windows based application but for what it is worth, I must say it works like a charm. Though I was wondering maybe this browser based authentication is meant to provide support to non-Y! Messenger chat clients like Trillian(Oh! Only I know how much eager I am for Trillian Astra!), YahELite, Pidgin(formerly known as Gaim) etc.Lets hope that soon they will have some built-in mechanism so atleast you can enter CAPTCHA in the chat client itself and enjoy Y! Chat Rooms.

A bug in Gmail

I have been using Gmail since its launch and I am really happy with the service they provide and the best part.. its free. Except some really nasty incidents Gmail has been almost bug free. However when you spend a lot of time with something eventually you will start seeing stuff that you might not notice otherwise. So here is a UI related bug and I've reported it two times and still there is no action that they've taken from their side so I thought I must publish it. Steps to reproduce this bug - Open your Inbox. - Check title, it will say Gmail - Inbox(Number of Unread Emails in the Inbox) - Now click on Settings click on the top-right side navigation - It will load Settings Page in the main list pane but now see the title... oops...:P

Thursday, August 23, 2007

Microsoft launches Tafiti

A brand new concept based on Microsoft Technologies(Live Search and Silverlight) http://www.tafiti.com has been launched. Though it is similar to a mashup, GUI is amazing and search is also pretty quick. Please wait while we get more info on this.

What is Tafiti?
Tafiti, which means "do research" in Swahili, is an experimental search front-end from Microsoft, designed to help people use the Web for research projects that span multiple search queries and sessions by helping visualize, store, and share research results. Tafiti uses both Microsoft Silverlight and Live Search to explore the intersection of richer experiences on the Web and the increasing specialization of search.
A snapshot is attached of the tree-view mode. :P

Wednesday, August 08, 2007

Check out new Y! Messenger built on nextgen Windows Presentation Foundation

I was roaming around (As usual) and I found this : http://messenger.yahoo.com/windowsvista.php . It seems WPF will make a huge change the way our application UIs are designed today. Let's hope for the best from big giants like MS, Y!, Google, IBM and wait for other rocking implementation of WPF. I am also in process of compiling some nice applications built on WPF\E ie Silverlight. Once I get a good number of applications I will put it in a page.

Friday, August 03, 2007

Boot.INI Options A to Z

I will not give the names, but many of my friends have asked me some times questions regarding Boot.ini and I have answered them most of the times. Today I found a nice article about Boot.ini which seems to have a lot of content from http://www.sysinternals.com and almost all the answers possibly known to us.
There are number of BOOT.INI switches that are useful for driver developers that wish to test their drivers under a variety of different system configurations without having to have a separate machine for every one. For example, limiting the amount of memory NT sees can be useful for stressing memory loads, and limiting the number of processors for testing scalability. I've compiled a complete list of the options that BOOT.INI currently supports. This list is reproduced in the Startup, Shutdown and Crashes chapter of Windows Internals, where you'll find more information about the boot process. Entries in red were introduced in Windows 2000 and those in blue introduced in Windows XP or Windows Server 2003.

Note: to see what options your system has booted with examine HKLM/System/CurrentControlSet/Control/SystemStartOptions.

/3GB
Increases the size of the user process address space from 2 GB to 3 GB (and therefore reduces the size of system space from 2 GB to 1 GB). Giving virtual-memory- intensive applications such as database servers a larger address space can improve their performance. For an application to take advantage of this feature, however, two additional conditions must be met: the system must be running Windows XP, Windows Server 2003, Windows NT 4 Enterprise Edition, Windows 2000 Advanced Server or Datacenter Server and the application .exe must be flagged as a 3-GB-aware application. Applies to 32-bit systems only.

/BASEVIDEO
Causes Windows to use the standard VGA display driver for GUI-mode operations.

/BAUDRATE=
Enables kernel-mode debugging and specifies an override for the default baud rate (19200) at which a remote kernel debugger host will connect. Example: /BAUDRATE=115200.

/BOOTLOG
Causes Windows to write a log of the boot to the file %SystemRoot%Ntbtlog.txt.

/BOOTLOGO
Use this switch to have Windows XP or Windows Server 2003 display an installable splash screen instead of the standard splash screen. First, create a 16-color (any 16 colors) 640x480 bitmap and save it in the Windows directory with the name Boot.bmp. Then add "/bootlogo /noguiboot" to the boot.ini selection.

/BREAK
Causes the hardware abstraction layer (HAL) to stop at a breakpoint at HAL initialization. The first thing the Windows kernel does when it initializes is to initialize the HAL, so this breakpoint is the earliest one possible. The HAL will wait indefinitely at the breakpoint until a kernel-debugger connection is made. If the switch is used without the /DEBUG switch, the system will Blue Screen with a STOP code of 0x00000078 (PHASE0_ EXCEPTION).

/BURNMEMORY=
Specifies an amount of memory Windows can't use (similar to the /MAXMEM switch). The value is specified in megabytes. Example: /BURNMEMORY=128 would indicate that Windows can't use 128 MB of the total physical memory on the machine.

/CHANNEL=
Used on conjunction with /DEBUGPORT=1394 to specify the IEEE 1394 channel through which kernel debugging communications will flow. This can be any number between 0 and 62 and defaults to 0 if not set.

/CLKLVL
Causes the standard x86 multiprocessor HAL (Halmps.dll) to configure itself for a level-sensitive system clock rather then an edge-triggered clock. Level-sensitive and edge-triggered are terms used to describe hardware interrupt types.

/CMDCONS
Passed when booting with into the Recovery Console.

/CRASHDEBUG
Causes the kernel debugger to be loaded when the system boots, but to remain inactive unless a crash occurs. This allows the serial port that the kernel debugger would use to be available for use by the system until the system crashes (vs. /DEBUG, which causes the kernel debugger to use the serial port for the life of the system session).

/DEBUG
Enables kernel-mode debugging.

/DEBUGPORT=
Enables kernel-mode debugging and specifies an override for the default serial (usually COM2 on systems with at least two serial ports) to which a remote kernel-debugger host is connected. Windows XP and Windows Server 2003 also support debugging through accept IEEE 1394 ports. Examples: /DEBUGPORT=COM2, /DEBUGPORT=1394.

/EXECUTE
This option disables no-execute protection. See the /NOEXECUTE switch for more information.

/FASTDETECT
Default boot option for Windows. Replaces the Windows NT 4 switch /NOSERIALMICE. The reason the qualifier exists (vs. just having NTDETECT perform this operation by default) is so that NTDETECT can support booting Windows NT 4. Windows Plug and Play device drivers perform detection of parallel and serial devices, but Windows NT 4 expects NTDETECT to perform the detection. Thus, specifying /FASTDETECT causes NTDETECT to skip parallel and serial device enumeration (actions that are not required when booting Windows), whereas omitting the switch causes NTDETECT to perform this enumeration (which is required for booting Windows NT 4).

/INTAFFINITY
Directs the standard x86 multiprocessor HAL (Halmps.dll) to set interrupt affinities such that only the highest numbered processor will receive interrupts. Without the switch, the HAL defaults to its normal behavior of letting all processors receive interrupts.
/KERNEL=
/HAL=
Enable you to override Ntldr's default filename for the kernel image (Ntoskrnl.exe) and/or the HAL (Hal.dll). These options are useful for alternating between a checked kernel environment and a free (retail) kernel environment or even to manually select a different HAL. If you want to boot a checked environment that consists solely of the checked kernel and HAL, which is typically all that is needed to test drivers, follow these steps on a system installed with the free build:
Copy the checked versions of the kernel images from the checked build CD to your WindowsSystem32 directory, giving the images different names than the default. For example, if you're on a uniprocessor, copy Ntoskrnl.exe to Ntoschk.exe and Ntkrnlpa.exe to Ntoschkpa.exe. If you're on a multiprocessor, copy Ntkrnlmp.exe to Ntoschk.exe and Ntkrpamp.exe to Ntoschkpa.exe. The kernel filename must be an 8.3-style short name.
Copy the checked version of the appropriate HAL needed for your system from I386Driver.cab on the checked build CD to your WindowsSystem32 directory, naming it Halchk.dll. To determine which HAL to copy, open WindowsRepairSetup.log and search for Hal.dll; you'll find a line like WINDOWSsystem32 hal.dll="halacpi.dll","1d8a1". The name immediately to the right of the equals sign is the name of the HAL you should copy. The HAL filename must be an 8.3-style short name.
Make a copy of the default line in the system's Boot.ini file.
In the string description of the boot selection, add something that indicates that the new selection will be for a checked build environment (for example, "Windows XP Professional Checked").
Add the following to the end of the new selection's line: /KERNEL= NTOSCHK.EXE /HAL= HALCHK.DLL
Now when the selection menu appears during the boot process you can select the new entry to boot a checked environment or select the entry you were using to boot the free build.

/LASTKNOWNGOOD
Causes the system to boot as if the LastKnownGood boot option was selected.

/MAXMEM=
Limits Windows to ignore (not use) physical memory beyond the amount indicated. The number is interpreted in megabytes. Example: /MAXMEM=32 would limit the system to using the first 32 MB of physical memory even if more were present.
For the standard x86 multiprocessor HAL (Halmps.dll), forces cluster-mode Advanced Programmable Interrupt Controller (APIC) addressing (not supported on systems with an 82489DX external APIC interrupt controller).

/MININT
This option is used by Windows PE (Preinstallation Environment) and causes the Configuration Manager to load the Registry SYSTEM hive as a volatile hive such that changes made to it in memory are not saved back to the hive image.

/NODEBUG
Prevents kernel-mode debugging from being initialized. Overrides the specification of any of the three debug-related switches, /DEBUG, /DEBUGPORT, and /BAUDRATE.

/NOEXECUTE
This option is only available on 32-bit versions of Windows when running on processors supporting no-execute protection. It enables no-execute protection (also known as Data Execution Protection - DEP), which results in the Memory Manager marking pages containing data as no-execute so that they cannot be executed as code. This can be useful for preventing malicious code from exploiting buffer overflow bugs with unexpected program input in order to execute arbitrary code. No-execute protection is always enabled on 64-bit versions of Windows on processors that support no-execute protection. There are several options you can specify with this switch:
/NOEXECUTE=OPTIN Enables DEP for core system images and those specified in the DEP configuration dialog.
/NOEXECUTE=OPTOUT Enables DEP for all images except those specified in the DEP configuration dialog.
/NOEXECUTE=ALWAYSON Enables DEP on all images.
/NOEXECUTE=ALWAYSOFF Disables DEP.
/NOGUIBOOT
Instructs Windows not to initialize the VGA video driver responsible for presenting bitmapped graphics during the boot process. The driver is used to display boot progress information, so disabling it will disable the ability of Windows to show this information.

/NOLOWMEM
Requires that the /PAE switch be present and that the system have more than 4 GB of physical memory. If these conditions are met, the PAE-enabled version of the Windows kernel, Ntkrnlpa.exe , won't use the first 4 GB of physical memory. Instead, it will load all applications and device drivers, and allocate all memory pools, from above that boundary. This switch is useful only to test device driver compatibility with large memory systems.

/NOPAE
Forces Ntldr to load the non-Physical Address Extension (PAE) version of the Windows kernel, even if the system is detected as supporting x86 PAEs and has more than 4 GB of physical memory.

/NOSERIALMICE=[COMx COMx,y,z...]
Obsolete Windows NT 4 qualifier—replaced by the absence of the /FASTDETECT switch. Disables serial mouse detection of the specified COM ports. This switch was used if you had a device other than a mouse attached to a serial port during the startup sequence. Using /NOSERIALMICE without specifying a COM port disables serial mouse detection on all COM ports. See Microsoft Knowledge Base article Q131976 for more information.

/NUMPROC=
Specifies the number of CPUs that can be used on a multiprocessor system. Example: /NUMPROC=2 on a four-way system will prevent Windows from using two of the four processors.

/ONECPU
Causes Windows to use only one CPU on a multiprocessor system.

/PAE
Causes Ntldr to load Ntkrnlpa.exe, which is the version of the x86 kernel that is able to take advantage of x86 PAEs. The PAE version of the kernel presents 64-bit physical addresses to device drivers, so this switch is helpful for testing device driver support for large memory systems.

/PCILOCK
Stops Windows from dynamically assigning IO/IRQ resources to PCI devices and leaves the devices configured by the BIOS. See Microsoft Knowledge Base article Q148501 for more information.

/RDPATH=
Specifies the path to a System Disk Image (SDI) file, which can be on the network, that the system will use to boot from. Often used in conjunction with the /RDIMAGEOFFSET= flag to indicate to NTLDR where in the file the system image starts.

/REDIRECT
Introduced with Windows XP. Used to cause Windows to enable Emergency Management Services (EMS) that reports boot information and accepts system management commands through a serial port. Specify serial port and baudrate used in conjunction with EMS with redirect= and redirectbaudrate= lines in the [boot loader] section of the Boot.ini file.

/SAFEBOOT:
Specifies options for a safe boot. You should never have to specify this option manually, since Ntldr specifies it for you when you use the F8 menu to perform a safe boot. (A safe boot is a boot in which Windows only loads drivers and services that are specified by name or group under the Minimal or Network registry keys under HKLMSYSTEMCurrentControlSetControlSafeBoot.) Following the colon in the option you must specify one of three additional switches: MINIMAL, NETWORK, or DSREPAIR. The MINIMAL and NETWORK flags correspond to safe boot with no network and safe boot with network support, respectively. The DSREPAIR (Directory Services Repair) switch causes Windows to boot into a mode in which it restores the Active Directory directory service from a backup medium you present. An additional option you can append is (ALTERNATESHELL), which tells Windows to use the program specified by the HKLMSYSTEMCurrentControlSet SafeBootAlternateShell value as the graphical shell rather than to use the default, which is Windows Explorer.

/SCSIORDINAL:
Directs Windows to the SCSI ID of the controller. (Adding a new SCSI device to a system with an on-board SCSI controller can cause the controller's SCSI ID to change.) See Microsoft Knowledge Base article Q103625 for more information.

/SDIBOOT=
Used in Windows XP Embedded systems to have Windows boot from a RAM disk image stored in the specified System Disk Image (SDI) file.

/SOS
Causes Windows to list the device drivers marked to load at boot time and then to display the system version number (including the build number), amount of physical memory, and number of processors.

/TIMERES=
Sets the resolution of the system timer on the standard x86 multiprocessor HAL (Halmps.dll). The argument is a number interpreted in hundreds of nanoseconds, but the rate is set to the closest resolution the HAL supports that isn't larger than the one requested. The HAL supports the following resolutions:

Hundreds of nanoseconds Milliseconds (ms)
9766 0.98
19532 2.00
39063 3.90
78125 7.80

The default resolution is 7.8 ms. The system timer resolution affects the resolution of waitable timers. Example: /TIMERES=21000 would set the timer to a resolution of 2.0 ms.

/USERVA=
This switch is only supported on Windows XP and Windows Server 2003. Like the /3GB switch, this switch gives applications a larger address space. Specify the amount in MB between 2048 and 3072. This switch has the same application requirements as the /3GB switch and requires that the /3GB switch be present. Applies to 32-bit systems only.

/WIN95
Directs Ntldr to boot the Consumer Windows boot sector stored in Bootsect.w40. This switch is pertinent only on a triple-boot system that has MS-DOS, Consumer Windows, and Windows installed. See Microsoft Knowledge Base article Q157992 for more information.

/WIN95DOS
Directs Ntldr to boot the MS-DOS boot sector stored in Bootsect.dos. This switch is pertinent only on a triple-boot system that has MS-DOS, Consumer Windows, and Windows installed. See Microsoft Knowledge Base article Q157992 for more information.

/YEAR=
Instructs the Windows core time function to ignore the year that the computer's real-time clock reports and instead use the one indicated. Thus, the year used in the switch affects every piece of software on the system, including the Windows kernel. Example: /YEAR=2001. (This switch was created to assist in Y2K testing.)

Thanks to Jonas Fischer for pointing out the PCILOCK and NOSERIALMICE switches. Thanks to Rob Green for information on the FASTDETECT switch.

Copyright © 1996-2004 Mark Russinovich from www.sysinternals.com

Microsoft Popfly

Microsoft has launched Popfly and I got an early invitation to play around it last month but due to a busy schedule I could not post this article. This article was supposed to be posted alongside with the article on silverlight.

Let's see how MS defines Popfly first...

"
Popfly is a tool that provides a fun and easy way to build and share mash-ups, gadgets, Silverlight experiences, and Web pages using pre-built "Blocks" that connect to online services. Popfly consists of Popfly Creator, which is a set of online visual tools for building Web pages and mashups, and Popfly Space, which is an online community of creators where you can host, share, rate, comment and even remix creations from other Popfly users."

Well... It sounds good... and looks good.. the UI rocks... but after looking at Flash UI available in market I think this one is no big deal. Anywayz, we have to give the credit as Silverlight is in early stage of development. We can definitely expect a strong contender for Flash when it reaches to Release candidate.
I spent almost entire day around its UI and I have got some interesting stuff. We'll see them one by one...

UI
As I mentioned UI is really cool and nitch, only question that came to my mind is usability or ease of use. I had hard time figuring out what exactly is going on in here. Anywayz it is still fun to play with it.

Accessbility
Not much I could see here, maybe because I didnt pay attention or maybe it was not being taken care of.

Performance
During the test, it made my IE Cry... and eventually my CPU and RAM Usage. I was really feeling bad about this. As we all know, Flash is always described as light-weight(I am not talking about
http://www.neostream.com/), Silverlight application that powers Popfly.com was an overkill for my decently configured laptop. I believe if I was not running it with 2Gigs of RAM. it would have been difficult to use the application.

What More?
As of now, I have not much information to share as it will take more time to get into the application and check out things. But you can definitely expect more in near future... till then... bbye...:)

Thursday, June 07, 2007

Microsoft SilverLight - Light Up the Web and Adobe Flash Comparison

Microsoft launched Silverlight formerly known as WPF/E(WPF/E Stands for WPF Everywhere) on 30th April, 2007. By definition, Silverlight is, as per the official website of Silverlight - http://www.microsoft.com/Silverlight , is :
Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of Microsoft .NET–based media experiences and rich interactive applications for the Web.
On fine morning of 30th April, I was in St. Pete, Florida when one of my colleague told me that MS has released SilverLight and after looking at its definition I was bit worried, worried for my till-this-date HOT Adobe Flash(formerly known as Macromedia Flash) browser Plugin. Silverlight by its definition gives an entire new meaning to this dimension of Web. In this article we'll see how these two technologies differ from each other.
Till this date Flash is famous for its stunning vector graphics, light weight, streaming media support, extensive script library and scripting support, Browser Compatibility and the most important one in my eyes, is Audience. Today as per Market research, Flash reaches 98% of the Internet users in one way or other. Let it be small advertisements, Flash based games, Video Streaming, Rich Internet Applications and much more. Silverlight, after I used it for a day or two in Microsoft Popfly, I believe Silverlight has a potential to do much more than Flash however there are some other factors too. We'll discuss about them at the end of this article.

What I found interesting in Silverlight is
- Backed by Microsoft
- DLR - Dynamic Language Runtime
- Huge Developer community
- Cross-browser compatibility
- Target audience and future plans

As we all know, Microsoft is proposing .Net at large and is literally taking out competitors due to its robustness, architecture, security, ease of use, support and development features. Silverlight is one more step to this strategy as well as to reach the audience which is rather difficult to reach due to diversity in OSes used. I have recently used a site based on Silverlight ie Microsoft
Popfly. As of now it is in Alpha Release and you can only access it once you get an invitation. Go ahead and register your any .Net Passport Id so that when next set of invitations are sent you get one. Now coming back to the topic, I saw following things when I was playing with Popfly.
- Extreme memory and CPU usage
- Difficult to use implementation
- 2MB Installation
- Higher bandwidth usage
As such Silverlight is still going through the production cycle so some of the above said cons will be ripped off in the final release, however when I compare it to Flash I see many things as a plus point in Flash.
- Backed by Adobe, one of the largest player in GFX and Multimedia segment
- Powerful scripting support and a matured authoring environment
- Developer and Designer community
- Almost 100% browser compatibility
- Reaches to 98% Internet-aware audience
- Streaming Video Support and industry acceptance
- Security and Mobile Device Support
I would have taken my time and listed cons from Flash's end too, however I would like if someone from the readers can point to cons of Flash and we can discuss it to get the better idea.
Chinmay
PS : This blog post was not copied from anywhere ;)

Thursday, May 31, 2007

Microsoft launches the new way to interact with the digital world - Microsoft Surface

I just got this news and I am so excited about this. All SciFi Hit Matrix Triology lovers would have remembered, in the last movie, when they are opening gates to the last city of Xion, a lady was moving her hands to move certain objects on a transparent screen. That scene left me wondering... oh my god when I will see this in action.. in real life...and today... I cant believe my dream coming true so fast Microsoft has announced Microsoft Surface.

According to Microsoft
"
Microsoft Surface represents a fundamental change in the way we interact with digital content.

With surface, we can actually grab data with our hands, and move information between objects with natural gestures and touch.

Surface features a 30-inch tabletop display whose unique abilities allow for several people to work independently or simltaneously. All without using a mouse or a keyboar."


Check out : http://www.microsoft.com/surface for exciting video clips and other information on surface.

Monday, May 14, 2007

The magic of unmaintainable code

This notorious and famous article was suggested to me by an intelligent colleague of mine during a recent project. Trust me guys its worth reading and also beware of the sarcastic style of writing, this one is full of rather disturbing humor. Here is the link : How To Write Unmaintainable Code by Roedy Green and the original was published on The original was published on Roedy Green's Mindproducts site.

Friday, January 19, 2007

My day to day tasks involves a lot of Web Services ;) sometimes, I encounter strange things, I've recently found some cool things to share in the team, but I am just waiting for team to provide some inputs. Once I see some more articles from you guyz, I'll put them online. As of now read some tips for Web Services Interoperability
Look at this:
10. Watch out for Empty Arrays
Sending
empty arrays over Web Services can create issues – some toolkits recognize an empty array as a single null value. If you are sending arrays of objects over a Web Service, always ensure that the array contains valid data.
9. Use Package and Type Name Options when Generating Client Proxies
Many
Java based tools have the option of specifying a unique package and type name when generating client proxies (for example, BEA WebLogic uses clientgen parameters to do this). This is essential when you are creating proxies for Web Services that share the same data type.
8. Testing Generated Java Beans for Null
When
using tools or an IDE to generate Java Beans from an XSD file, always make sure that you know how to test to see if the object is null. In some instances this is done using the isNil() method on the bean itself.
7. Null Dates and Times are recognized by Java, but not by .NET
In Java, java.util.Date and java.util.Calendar are classed as reference types. In .NET, System.DateTime is considered a value type. Reference types can be null, whereas value types cannot. If you are planning to send null date values across a Web Service, always send the value in a complex type, and set the value of the complex type to null. This will help prevent the null date value being interpreted incorrectly (and raising an exception).
6. Always use compareTo() when comparing dates/times
If sending dates and times over a Web Service between .NET and Java, always use the appropriate compareTo() method in Java to compare dates (as opposed to date == value). This will help ensure accuracy for date comparisons between the platforms, especially when trying to compare those milliseconds values.
5. Use Trace Tool to Investigate
A Trace Tool can be invaluable for investigating SOAP requests and responses between Web Services. It can help validate data types and the construct of the message, and also report SOAP faults that you may miss in a browser. Using one that intercepts the request is more difficult to setup, but easier to use than looking through trace files
4. Add Option to Change Host and Port
When designing your Web Service client, consider adding a helper method to change the host and port values of the Web Service location. This makes it easy if the location of the Web Service changes in the future or you want to redirect the output to a trace tool.
3. Ensure Document/Literal when generating Web Services
Many toolkits have the option of choosing either RPC/Encoding or Document/Literal as the default format when generating Web Services. To help ensure compliance with the WS-I Basic Profile 1.0, select Document/Literal as the default encoding mechanism for all of your Web Services.
2. Use Unit Tests to Test Interoperability
Unit tests (using NUnit for .NET and JUnit for Java) are invaluable for testing interoperability of multiple data types over a Web Service. Re-running the tests if data types change (or if you change versions of Web Services toolkits!) will give you the confidence that the Web Services that you design are fully interoperable.
1. Use XSD First
When designing for interoperability, always start with defining the data first. Deciding on what data will be sent, creating the data type in XSD first, and then using tools to generate classes from the XSD file will help guarantee data type interoperability on the wire.

Wednesday, December 20, 2006

A brand new(and efficient) way to implement Paging

Here is a link I bumped into while doing some R&D. As usual, couldn't stop my self... and posted it here. http://weblogs.asp.net/scottgu/archive/2006/01/01/434314.aspx

A low-level Look at the ASP.NET Architecture

Two years back, when Chirag and DJ were used to work closely with Team ESS, once Chirag was having some issues regarding ASP.Net Architecture and we had a hot discussion on that at that time, afterwards, in response, I came up with this link that clearly explains how ASP.Net works. Also this will answer the query that Footpatti had when I was coming to HYD. I hope you all find your answers regarding ASP.Net Architecture
http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp
Discussion on this post is most welcome, infact I hope there are going to be some questions. :)

Tuesday, December 19, 2006

The begining of the Matrix?

Mostly, I do not put anything on this blog that is directly related to any NON-Tech news, but this one, I couldn't stop myself, this news is something, that reminds me of the great movie, the matrix. IBM's Second Life initiative is headed somewhere.... now let's see... where it goes....
http://news.com.com/2008-1023_3-6144122.html?part=rss&tag=2547-1_3-0-20&subj=news

Thursday, December 07, 2006

Online Resources I use...

As you all know, now I've got what I always wanted, I am kindda free now, so I've decided I'll answer most of the queries you guyz had when I was there. As a part of that, here are the online resources I use a lot :
Non-Microsoft Subscriptions I Use
SDTimes.com
Redmondmag.com
101Communications.com(For Free Subscriptions)
MCPMag.com
ENTOnline.com
Tcpmag.com
Microsoft Subscriptions I Use
MS Architecure Journal - Hard Copy as well as Soft Copy:D
MSDN Flash India and International
MCP Flash
Microsfot Security bulletin and Notifications
TechNet Flash
Mobile PC
Sites I Use
TechTree.com
Experts-Exchange.com
CodeProject.com
bytemycode.com
PCQuest.com
msdn.microsoft.com
geekinterview.com
google.com

Tuesday, November 28, 2006

Hosting JSP, PHP or any other Server Side Architecture(CGI) on IIS

Here I am writing my first important .. naah very very important blog entry from my desk. If you are a seasoned web developer you know how tough it is to work with various Hypertext Processors or Server Technologies. It was almost impossible to host cross-server side technologies on given web server. Like to host JSP/PHP you'll go and find some third party ISAPIs or will try to develop your own ISAPI that maps to given web technology. Now, As we see the things from different perspective and the world is going towards more and more flexibility, Microsoft has come up with a new tool/technology called FastCGI that empowers web developers to host various web technology extensions on IIS.

On IIS.Net FastCGI was described as:
The IIS FastCGI component enables popular application frameworks like PHP be hosted on the IIS web server in a high-performance and reliable way.

FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release.
CGI programs are executable launched by the web server for each request in order to process the request and generate dynamic responses that are sent back to the client. Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides poor performance due to the high cost of starting and shutting down a process for each request.
If you are interested in, here is a link to a FastCGI whitepaper :

Monday, November 06, 2006

Windows File System : Archive Bit

Recently I got a a mail clearly asking information regarding Archive Bit that is available on FAT32, NTFS and its implications from Developer's perspective. So here is an article that will try to throw some light on this topic.

According to PCMAG : A file classification that indicates whether the file has been updated since the last backup. A bit is set in the file directory to indicate the archive status. When a file is created or saved, the bit is turned on. When it is backed up, the bit is turned off.
and technically its a file attribute controlled by the high-order bit of the t3 byte (FCB + 11) in a directory element. This attribute is set if the file has been archived.
Here is a VBScript code sample that shows how to access File Attributes.

http://sallisawok.org/caspdoc/html/vbscript_file_object_attributes_property.htm

Friday, October 06, 2006

Google launches Google Code Search

Google has launched yet another Developer friendly service yesterday ie Google CodeSearch(http://www.google.com/codesearch).
It's a search engine developed for developers and it provides an interface to use RegEx to search code snippets they are looking for. I didn't try it much as now I am headed to some other things... I felt it will be extremely useful to you people.
Google Code Search helps you find function definitions and sample code by giving you one place to search publicly accessible source code hosted on the Internet. With Google Code Search, you can:
- Use regular expressions to search more precisely

- Restrict your search by language, license or filename
- View the source file with links back to the entire package and the webpage where it came from

Tuesday, September 12, 2006

Visual Studio 2020

I was looking at the newsletter from CodeProject and got my eyes on this kewl article. Have a look at this tiny (aaaargh) article.

http://www.codeproject.com/useritems/Visual_Studio_2020.asp

Wednesday, August 09, 2006

I became MCP

Hey hey.... it's been a long long time... I agree... yes.... its been a long time... had gone through many things in last 6 months, got VNS Series of projects, took part in MS Security Shootout 2006(http://www.securityshootout.com) also decided what I will be doing next few years...of course its Software Development but now I can see it, define it and then it comes to my mind that going on that path I'll need something on my side, some credential/certification and what in this world is better than MS Certifications if you are a .Net Developer? So today was a big day, I went to Crystal Arcade at CG Road, Ahmedabad and I got my first MS Certification i.e. Microsoft .NET Framework 2.0 - Application Development Foundation C# (70-536). The exam was tough but the MSDN2, Virtual Labs and Visual Studio Express/Beta editions I used was sufficient enough to crack it. And I got it done, it took time, but it was done. And now I am heading towards the Final Destination for a Developer lets see how does it rolls out....