Close AD

Chintan Patel's Blog
Home | Archive | Photo Albums | Links | Contact Sign In | Sign Up

About Author

Chintankumar Patel
09 Jun, 2008

Contact Me  

Working as a Technical Consultant for Conchango.

Having experience in to IT from 7+ years and working on Microsoft Technologies

Archive

2009 Dec   (1)
2008 Dec   (1)
2008 Oct   (3)
2008 Sep   (6)
2008 Aug   (1)
2008 Jul   (2)
2008 Jun   (7)

Recent Posts

Windows 7 review
Comments : 0
Not Rated  
Disable System Restore in Windows Vista
Comments : 3
Not Rated  
What's New in the .NET Framework 2.0 ?
Comments : 2
Not Rated  
How to work with partitions in Windows Vista / XP when Disk Management doesn’t work
Comments : 3
Not Rated  
How to resize a partition in Windows Vista?
Comments : 3
Not Rated  
Top 10 tricks for handling null values in Microsoft Office Access
Comments : 17
Not Rated  
What is Vista's ReadyBoost and SuperFetch Technology
Comments : 5
Not Rated  
What is YouTube? - An introduction to the YouTube.com
Comments : 5
Not Rated  
SQL DATEDIFF Function - Applies to MS SQL Server and MS Office Access
Comments : 4
Not Rated  
Booting from USB Pen/Key/Flash Drive (Windows/Linux)
Comments : 5
Not Rated  

Categories

.Net Graphics   (2)
.Net Technology   (6)
ASP.Net   (1)
General   (2)
Microsoft Access   (1)
Microsoft Visual Studio   (1)
Microsoft Windows   (4)
SQL   (1)
USB   (1)
Windows 7   (1)
Windows Vista   (2)

Tags

.Net , .Net Framework 2.0 , .Net Graphics , Asp.Net , Boot , C# , Class Library , Coding Standards , Convert File System , Database , DATEDIFF , DATEDIFF Function , Disk Management , Embedded Resources , EnableEventValidation , EnableViewState , EncoderParameter , FAT32 to NTFS , Form Authentication , HDD , High Quality Thumbnail , Intellisense , Linux , Microsoft Access , Microsoft's SQL , Partition , ReadyBoost , ReSharper , Resize Image , Resize Partition , Security , SQLDataReader , SuperFetch , System Restore , USB , Usb device not recognized , Vista , Visual Studio 2005 , What's New , Windows , Windows 7 , Windows Application , Windows Errors , Windows Vista , Windows XP , YouTube

Chintan Patel's Blog

Windows 7 review

Tue, 22 Dec, 2009

Oh, Windows. You inform and entertain us. You are inescapable, and your Start menu is full of items relevant to our productivity. You move us. Sort of. To be honest, we're not sure what sort of state this fair planet of ours would be in without the ruggedly functional operating systems the folks at Redmond have handed to us over the years, and while Windows Vista might have proved that Microsoft wasn't invincible, it did nothing to demonstrate that Windows as an idea -- and for most, a necessity -- was at all in jeopardy.

Windows 7 arrives on the scene three short years after Vista, shoring up its predecessor's inadequacies and perhaps offering a little bit more to chew on. We've been playing with the OS ever since the beta, along through the release candidate, and now at last have the final, "release to manufacturing" (RTM) edition in our grubby paws. Does it live up to its understandable hype and the implicit expectations of a major Microsoft release? Let's proceed on a magical journey to discover the truth for ourselves.

Install / boot times / shutdown

It's the most base of operating system functions. Install, turn on, turn off. But first impressions matter, and Microsoft made sure to give Windows 7 a nice sheen when it came to these things. You can read through our full installation guide for an in-depth look at the pitfalls and triumphs of Windows 7 in this department, but in short: it's fast and lightweight, but the real performance gains can be found on netbooks and with clean installs. Otherwise there's really nothing to put Vista to shame -- though the amazing breath of fresh air a clean install provides should really set cruftware-happy vendors to a bit of soul searching.

UI enhancements

Since Windows 7 is a sort of streamlined Vista underneath -- same hardware requirements, same hardware compatibility model, a bit less cruft -- you'll have to look to the basic UI for Microsoft's most visible additions to the OS. Makes sense, we suppose. Here are some of the highlights:

Aero Peek


Everybody who's used a modern operating system for more than five minutes has been met with the hassle of juggling too many windows, and Aero Peek seeks to alleviate some of that. Available with any machine capable of "fancy mode" translucent window graphics, Aero Peek lets you hover over a "show desktop" field in the right of the task bar and show the outlines of every window currently open -- which usually amounts to chaos.

More helpful, however, is the ability to hover over the fly-out thumbnails that pop up from the taskbar app groupings, and isolate that specific window while all other windows are sent to outline mode. It serves as both geography lesson and a rapid navigation method, without feeling as clunky or "all-or-nothing" as previous attempts at windows management in Windows. Check out the video demo below to see how this plays out in practice:



Aero Shake

What we first thought was merely a gimmick has become one of our favorite features: merely grab the titlebar of a window and give it a vigorous shake to minimize all other windows. Great when you're changing tasks and want to rid yourself of the clutter of your previous activities, and we hardly know how we've made it so far in life without it.

Start Menu


Mac OS X might have Spotlight, but Windows now has great instant search as well, and the Windows key has a new lease on life. Merely pop open the Start Menu and start typing and search results start populating. It's not nearly as comprehensive as Spotlight, but it also doesn't seem to be faced with the same slowdowns of its Mac OS X counterpart, and typically tracks down what we're looking for (apps, usually). The Start Menu has also been enhanced with a refined layout and supplemental menus for frequently used items -- offering access to recent items used by that application, along with the new "tasks" list that Microsoft has snuck into the OS, but which are currently only used by a few Microsoft-built apps.

Aero Snap



Perhaps our favorite day-to-day improvement of them all, Aero Snap offers a surprisingly smart way of working with windows, using the mere power of a click and drag. Windows can be maximized by being pulled to the top of the screen, or set to fill one half of the screen by being dragging to the far left or right edge of the screen. An Aero Peek-style outline lets you preview what you're doing, and it's easy enough to bounce away from the "sticky" edges, or pull an already maximized window away from its moorings. Windows Key + Left Arrow or Right Arrow accomplishes the same thing for filling one half of the screen with the current window, and is perfect for lining up document comparisons.

New Taskbar



This one gets all the press, but it's really more a product of Aero Peek than anything clever in and of itself. Basically it takes some ideas from the Mac OS X dock like larger icons and app launcher duties (icons can be "pinned" to remain in place whether the application is open or not, a melding of Windows' old Quick Launch Bar into the taskbar proper), and adds in traditional Windows taskbar activity like the listing of open windows. The default functionality is fine, which keeps everything "stacked" in its respective icon, but the real money is in the "combine when taskbar is full" view, which can be accessed from the taskbar properties. This brings the benefits of verbose item names -- always a big win for Windows over Mac OS's icons-only approach -- without sacrificing the fancy Aero Peek features or the pretty icons. What's not so elegant is how hidden icons in the far-right system tray are now housed in an ugly little pop-up menu.

Even worse is the fact that dragging a file to an app icon in the taskbar doesn't allow you to open that file with the app, but instead asks if you want to "pin" the file to that app. Newsflash: we'd rather not. With a bit of work you can re-add the old fashioned Quick Launch set of mini-icons for drag and dropability, but that's pretty silly. We're glad there's enough customization available to make this livable, but we'd say Microsoft could have done a better job of thinking through its defaults.

Quick display switching


Windows + P = magic! Really, it's the little things that count, and Microsoft has made managing multiple displays and switching between commonly used configurations a total snap.

UI stayed-the-sames

Microsoft got a lot right with its new UI tweaks, but it certainly could've taken things a few logical steps further. For instance, it's odd that there's no built-in support of multifinger trackpad gestures -- why is this something that third party vendors have to figure out all by themselves? We understand that the hardware isn't universal, but we'd like to see Microsoft driving the adoption of such functionality by building clear, reliable support for it into the OS. Two finger scroll in particular: it's the best thing to happen to trackpads since tap-to-click, and we think everybody should've figured that out by now.

On the multitouch front, Windows 7's support for multitouch display interaction is laudable but hardly sufficient. Microsoft itself has poured plenty of R&D into finger-friendly interfaces, and we would hope that they'd be building some of that innovation into the OS by now -- the release of the Surface-inspired Microsoft Touch Pack is a nice start, but doesn't go far enough. We shudder to imagine the haphazard implementations of smartphone-style multitouch innovations we're undoubtedly going to be seeing from OEMs in the coming years.


Overall, Microsoft has failed to establish a cohesive styling and operation model to its own applications, which range from the relatively new "ribbon" toolbars of Office, (and now WordPad, above, and Paint), to the website-like Control Panel navigation, to the ancient Device Manager trees, to the tabbed properties panes, and so on. In an attempt to simplify many of its interfaces, frequently used actions have been slowly popping up as buttons where menu bars used to be, while the deep functionality of "true" menus has been hidden elsewhere in the interface. All of this wouldn't be so horrible if Microsoft was the only builder of applications for Windows, but given thousands and thousands of developers out there making widely disparate application interfaces for Windows, we'd really appreciate it if Microsoft took a bit more leadership and more clearly defined a UI design language that was consistent and useful for users.

Notable app changes

Windows Media Center



We've gone way in-depth on this over at Engadget HD, but suffice it to say that Windows Media Center in Windows 7 is vastly superior to Windows Vista's version, and most all of the bugs from the Windows 7 beta seem to be ironed out quite nicely. The interface is a real treat, the extender functionality to the Xbox 360 and 3rd party boxes is much improved and quite snappier, and a truly marvelous amount of hardware is supported.

Windows Media Player


It's pretty much Windows Media Player, you know? The good news is that Microsoft has greatly expanded the codec support, to something bordering on comprehensive:



Pulled from Microsoft's Engineering Windows 7 blog


What's even more fun is the new "Play to" function, which can beam a locally-controlled audio playlist to computers that are part of your HomeGroup, DLNA devices like the PS3, or Media Center Extenders like the Xbox 360. Remotely shared libraries are also automatically detected off of DLNA or Home Server devices, and everything pretty much "just works."


If you're really feeling crazy you can tie your media library to your Windows Live ID and access your home media from anywhere over the internet.

Windows Explorer



It's hard to quantify most of the changes to the basic file browser activities in this release, other than to say "it just works" quite a bit more frequently than it did in Vista. It's smarter about spotting file types, there are solid in-pane previews of music, pictures and video (if you know to turn on the preview pane), and the particular folder we're targeting with a drag and drop is lined up in the simplified left hand sections of "Favorites" and "Libraries" more often than not. Unfortunately, it's not all roses: some media files we knew the OS was perfectly capable of playing through its Windows Media Player-powered preview pane had somehow been "claimed" by Zune and disabled for playback from within Windows Explorer. Looks like somebody missed a meeting.

Internet Explorer



We'll be honest: we avoid IE like the plague, and recommend you do as well. Microsoft continues to make improvements to the browser, and the nagging, over-protective "training wheels" approach to security is probably appropriate for those naive enough to use this thing, but the fact is that there are too many faster, better and "free-er" browsers out there to really waste much time in Microsoft's default. Anecdotally, the browser hard crashed a couple minutes into us writing this paragraph.

Notable app omissions

Windows Mail

It was never the highlight of the OS, but Microsoft has for some reason decided to ship Windows 7 completely without a mail application, unless you count the browser. You're encouraged to download Windows Live Mail with the Windows Live Essentials app pack, but while it does an alright job, it's hardly a first string effort, and we're not sure why Microsoft has decided that emailing people isn't really a core functionality of a modern operating system, much less something that Microsoft should have an industry-leading app for inside the box.

Windows Movie Maker

Another item relegated to the Windows Live app pack, and this time slapped with a "Beta" moniker for extra shame. We actually have a bit of a soft spot for Microsoft's no-frills approach to movie editing for the everyman, and if YouTube is any indication, Movie Maker certainly gets the job done for a lot of people. Still, this is probably something that should be spruced up and packed in with the OS, and we're even more sure that it should support the now-defacto AVCHD format by now.

Windows Live Photo Gallery

You guessed it, another one kicked to Windows Live Essentials land, where supposedly "essential" apps go to die. Unfortunately, this particular app seems an even more logical omission, given its too-strong ties to a Windows Live account (something we've owned for years without managing to upload a single photo to, strangely enough).

Other sundry necessities

We could probably understand this app scarcity a decade ago -- Microsoft's job is only really half done when you buy the OS, they also need to keep that Office team afloat -- but given its modern day competition (Apple and Google, to be specific), it's hard to understand why Microsoft is shipping this OS without a calendar app, PDF viewer, lightweight office replacements or an IM / video conferencing solution. Microsoft blames anti-trust laws, stating that it's hard for it to work in all the "services" it wants into its apps if it bundles with the OS, but we'd say most of its applications could do with a bit more "open" when it comes to services (Flickr, YouTube, anything that isn't Windows Live, etc.) anyways. In any case, most computer vendors will be striking a deal with Microsoft or Google or whomever to supply some of these necessities with their shipping computers, but we can't help but think that Microsoft is leaving some vital elements of the operating system incomplete and wide open to inconsistent experiences by neglecting all of these app types in this way.

Security / networking


Microsoft had already done a lot of work since the initial release of Vista on not bugging us incessantly with pop-up security nags, but Windows 7 strikes an even better balance. What is disconcerting is how often security warnings include an "unknown" as the publisher -- it's not really teaching anybody to be judicious about what pops up in the warning if the warning itself doesn't even know what's going on.

In the end we'll find out just how secure Windows 7 is once it's in the wild and hackers start hammering on it, but with the abundance and ease of Windows updates these days, most anybody with an ounce of common sense and a speedy internet connection should be able to steer clear of danger. Meaning: we're all doomed.



On the networking front, HomeGroups are a new Windows 7-specific method of simplifying networking between computers on a local network, and we're really in love. After decades of being stymied by complicated Windows networking setups, we've finally been able to reliably and rapidly connect multiple computers and share files / media / printers / whatever without resorting to a sneakernet or inviting our smarter friends over with their fancy Computer Science degrees to figure it out for us.

Compatibility

Check out our upgrade guide for more info on our specific compatibility issues, but the long and the short of it is that anything we found to work in Vista seemed to work just fine (in some cases better!) in Windows 7. That goes for hardware and software, but of course the real test will be when this OS is unleashed upon the masses -- your mom's brother's 25 year old printer might not make the cut, and we'll be sure to pour out a 40 upon its behalf.



In truth, Microsoft does a very good job with keeping a truly insane quantity of hardware and drivers and vendors happy, but we still think they could do better. New and improved utilities to detect and install hardware are present in Windows 7, but they still don't feel entirely smart enough -- we had to track down plenty of drivers manually, and even dipped a toe now and then into the (shudder) Device Manager, which has hardly received an improvement since World War II. There has to be a better way to make sure people don't have to be smart, patient and lucky to get all their hardware working with their OS.


Of course, it's not a small problem to surmount. The brand new Device Stage seems to best illustrate the scope of this issue. Microsoft has presented a sort of candy-coated exterior to the Device Manager in the Devices and Printers view, which displays devices it recognizes as large, lickable icons, and lets you drill into further functions with a right click, or a double click if you're feeling lucky. Unfortunately, there's only a very small set of devices the OS seems truly at ease with. Sure, it picks up on most anything we plug in over USB, seeking out drivers over the internet and installing them quite painlessly, but actual functionality usually leaves a lot to be desired -- a double click usually gives us only the driest of driver-management options. Of our oodles of devices, most are represented by a generic NAS icon, many are represented with bizarre names (or eight names, in the case of our E71) and only two devices we tried offered a true Device Stage view, which was merely populated with battery and storage status.



It's simultaneously a testament to the insane diversity of devices Microsoft has to deal with, along with the implicit reliance on vendors to provide drivers in a logical and consistent manner. We don't imagine the Device Stage will be populated with truly useful infos on our favorite devices for many months (or years) to come.

Overall speed / stability

Speed is really one of Windows 7's major selling points. Particularly for the netbook set, Windows 7 can turn a machine that's nearly unusable under Windows Vista (especially if it's been saddled with the manufacturer's own set of crapware) into a quite potent workhorse. That's partly to do with the slimmed down kernel of the OS, which has lower memory requirements than Vista, but it's also due to Microsoft's rework of GUI scheduling, which means less bottlenecks and less unresponsive moments.

Still, it's not perfect. On the well-appointed machine we performed an in-place upgrade from Vista on (trust us, a clean install is worth the hassle, learn from our mistakes) we found Gadgets taking a while to load on boot, occasional system-wide slowdowns when we were doing a tad "too much" with media, and Internet Explorer felt pretty sad compared to the competition.



While streaming Windows Media Center to our Xbox 360 we had trouble maintaining an internet connection, or perhaps a network connection -- it was unclear which was dropping. After we disconnected and reconnected the network would work again, but would break soon after. We eventually gave up and restarted, after which things seemed to work just fine.

Our worst experiences, however, were with a clean install to a quite modern netbook. The OS became increasingly unstable over time -- Windows Explorer itself seemed to be the main culprit -- and the machine eventually failed to boot entirely. Luckily, the Startup Repair utility managed to jump to the rescue and found a System Restore point that booted fine, though we lost the few customizations we'd made up to that point and were face with basically a fresh install again. It was nice of Windows 7 to recover itself so well, but we would obviously have preferred to not run into that issue in the first place.

SKUs

As for pricing and SKU confusion? Well, you'll have to decide that one for yourself:

   
FROM
XP / VISTA
FROM
WIN7
STARTER
FROM
WIN7 HOME
PREMIUM

FROM
WIN7 PRO

FULL
PRICE
HOME
PREMIUM
$119.99*
$79.99
N/A
N/A
$199.99
PRO
$199.99
$114.99
$89.99
N/A
$299.99
ULTIMATE
$219.99
$164.99
$139.99
$129.99
$319.99
Full feature lists and additional SKUs can be found here. Family Pack info is here.



Madness? Yes. But there are still some decent options for most people, and if you've gotten a jump on things you might have already scored yourself that $50 upgrade -- don't you feel smug? In the long run, most people will end up getting Windows 7 with a new machine, so perhaps it doesn't matter so much, but we still wouldn't mind if Microsoft did a bit more work trimming down these full version pricetags. Doesn't Microsoft want those too-cool-for-school Apple hipsters dabbling in the dark side via Bootcamp?

Wrap-up


Where Vista felt like a sprawling mess, Windows 7 has patched up the holes and feels like a tight, unified mechanism. It's hardly full of surprises, but that's usually a good thing when it comes to operating systems. If you've never been a Windows person, there's hardly anything here that will change your mind about that. However, most human beings on this planet have some sort of interaction with Windows on a regular basis, whether by choice or necessity, and Windows 7 is great news for those millions of souls.

Instead of switching up the formula, Windows 7 is really an extension and a refinement of the true tenets of Windows (that we just made up): broad hardware compatibility, coatings of usability over deep functionality, and a "everything for everybody" approach to feature sets and SKUs. With such broad aims, and such a diverse userbase, it's no wonder that there are plenty of spots where the OS still falls short, but taken as a whole it's clear that Microsoft has taken a strong step forward with Windows 7. The world will know on October 22.


  

Disable System Restore in Windows Vista

Thu, 04 Dec, 2008

The Windows Vista System Restore feature will make sure that software installations, drivers, and other updates can be rolled back. The only price to this feature is some disk usage. If you want to disable System restore, which is a bad idea, it's really pretty simple.


Just to make sure you understand… Windows Vista has just been released. There are bugs. Things will crash. Disabling System Restore will keep you from rolling back changes.

So, you've read this far. Now let's disable it. Type system into the start menu search box, and pick the 4th item down, just labeled "System".  (You could also right-click the computer icon and choose properties)

1

Now click the System protection link:

2

You'll see the checkboxes next to your different disks:

3

Once you uncheck the drive, click the "Turn System Restore Off" button.

4

Now you've got system restore disabled. Living on the edge, eh?






  

What's New in the .NET Framework 2.0 ?

Mon, 20 Oct, 2008

In this you will learn about new feature in .NET Framework 2.0. Various aspects such as Support for 64 bit platform application development, Access control list support (ACL), ADO.NET, ASP.NET, Authenticated streams,COM Interop Service Enhancements, Console Class Additions, Data Protection API, Detecting changes in Network connectivity, Disjunctive Demands, Distributed Computing, EventLog Enhancements, Expanded Certificate Management, FTP Support, Generics and Generic Collection, I/O Enhancements and several other feature are discussed here below.

The Microsoft.NET framework of Version 2.0 extends the .NET framework of Version 1.1. It was developed under the code name ‘Whidbey”. Whidbey includes the .NET framework, various user interface types such as Windows forms, ASP.NET and the compact framework. It also includes the official languages C#, Visual Basic.NET and J# and the Development environment. In this section we shall focus on the main changes brought into the .NET framework by the 2.0 version.

 

Support for 64 bit platform application development. These applications can run faster and take advantage of more memory that is available and users can build managed code libraries or easily use unmanaged code libraries on 64.bit machines.

 

Access control list support (ACL). This is used to grant or revoke permission to use a particular resource on a computer. Several new classes have been added to the .NET Framework to enable manage code to create and modify ACL. Members that use ACL have been added to the I/O, registry and threading classes.

 

ADO.NET now supports user defined types, asynchronous database operations, XML data types, large value types, snapshot isolation, and has attributes that allow applications to support multiple active result sets(MARS) with SQL Server 2005.

 

ASP.NET has received most attention. A number of new features have been added to ASP.NET such as new controls for development of dynamic web pages. New Data controls for displaying and editing data that do not require the user to write code add to the ease of application development. The code behind model developed for use in ASP.NET makes it more robust. New caching features such as ability to cache dependency tables in SQL server database have been introduced. The current version allows users customize web pages in a number of ways. Property values for individual user profiles can be automatically tracked. Web parts can be used to allow users customize their pages in the browser. Navigation menus using simple controls can be added. Master pages enables users create layouts for all pages in the site and themes allow him to define a consistent look and feel for the site. The Web site can be precompiled to produce an executable code from source files. The resulting output can be displayed on a production server. ASP.NET enhancements also include new tools and classes which make website management easier and comprehensive. A wide variety of browsers are accommodated in ASP.NET and by default controls render output that is compatible with XHTML 1.1 standards. The device filter can be used to specify different property values for the same control on different browsers.

 

Authenticated streams is the new class introduced into the .NET Framework to enable users transmit secure information between a client and a server. The System.Net.NegotiateStream and System.Net.SslStream are classes which authenticate the transmission of data. These stream classes support mutual authentication, data encryption and data signing. The System.Net.NegotiateStream class uses security protocol for authentication while the later uses the Secure socket layer for authentication.

 

COM Interop Service Enhancements include enhancements that have been made to classes and tools that support interoperability with COM. These enhancements are of four kinds.The System.Runtime.InteropServices.SafeHandle and System.Runtime.InteropServices.CriticalHandle classes and the derived classes are designed to provide safe and reliable means of manipulating the operating system handles.Enhancements to interop marchaler has given the user the ability to wrap native function pointers into delegates and to marshal fixed size arrays of structures inside structures. The performance calls between applications in different domains have been fine tuned. Type Library Importer and Type Library export switches have eliminated the dependency on the registry for resolution of type library references.

 

Console Class Additions of members to the System.Console Class enable the manipulation of dimensions of the console window and screen buffer. This is extremely useful for creation of animations which require moving a rectangular area of the screen buffer. Other new members in this class help control the foreground and background colors of texts, the visibility and size of the cursor and the frequency and duration of the console beep.

 

Data Protection API has been expanded with the inclusion of four new methods that allow applications encrypt passwords, keys, connection strings and so on. Blocks of memory can also be encrypted if the operating system is Windows Server 2003 or above.

 

Debugger Display Attributes have been tweaked to give the user control over how the class is displayed in the debugger. The user can now identify the most useful information he needs to display in the debugger and make the required settings for the same.

 

Debugger Edit and Continue Support is reintroduced into 2.0 .NET Framework to enable users who are debugging applications to make changes to source code while executing in the break mode. The user can now make the changes, resume the execution and observe the effect. This feature is available in all languages.

 

Detecting changes in Network connectivity is enabled by the use of the System.Net.NetworkInformation.NetworkChange. The user can now receive notification when an Internet Protocol (IP) address of a network Interface changes. This can occur due to disconnected network cable, hardware failure etc.

Disjunctive Demands allows multiple code identities to access a class or method. The new security actions that have been created allow multiple identity permissions to be simultaneously demanded, inheritance demanded or link demanded. The DemandChoice security action now allows the user demand several strong name identities to allow the stack walk to succeed. The InheritanceDemandChoice and LinkDemandChoice are the two other security codes that have been introduced in this version of Visual Studio.NET.

Distributed Computing gives support for FTP client requests, caching of HTTP resources, automatic proxy discovery, and obtaining network traffic and statistical information. The Web server class has now been added to the namespace and this can be used to create simple web server for responding to HTTP requests. Output trace information for application debugging and diagnostics are generated by classes. Performance and security enhancements have been added to the System.Net.Sockets.Socket and System.Uri classes. Support for SOAP 1.2 and nullable elements have been added to System.Web.Services. Channel security features have been added to System.Runtime.Remoting.Channels. Authentication, encryption and load balancing are now supported by the TCP channel.


EventLog Enhancements enable the use of custom DLLs for messages, parameters and categories.


Expanded Certificate Management now supports X.509 certificate stores, chains and extensions. Certificates can be signed and verified without platform invoke using X.509 certificates. PKCS7 signatures, encryption and CMS are also supported


FTP Support is now integrated into 2.0 with the introduction of the classes System.Net.WebRequest, System.Net.WebResponse and System.Net.WebClient.


Generics and Generic Collection allow the user create flexible, reusable code. The generics act as templates that allow classes, methods, structures, interfaces and methods to be declared and defined with an Unspecified parameters. The types are specified only when the generic is used. System.Namespace and System.Collections.Generic provide the generic classes and methods. While the latter namespace supports strongly typed collections, System.Nullable provides for a standard representation of optional values. VB.NET, C# and C++ support generics. Generic types and methods can be examined and manipulated at runtime using reflection which has been extended. New members have been added to System.Type and System.Reflection.MethodInfo to identify generic types, obtain type parameter lists or create specific types.


Globalization has been extended with five new features to support custom cultures and languages. Minor customizations of existing cultures or creation of new cultures becomes possible with the new .NET 2.0. Encoding and decoding are done by mapping a Unicode character to and from a stream of bytes that are transferred to a physical medium such as a disk or communication line. Failure to complete the mapping operation can be compensated using the new encoding and decoding fallback feature supported by several classes in the System.Text Namespace. The .NET framework also supports the latest normalization standard defined by the Unicode consortium and the process converts character representations of text to a standard form that can be compared for equivalence.


I/O Enhancements have made the various I/O classes usable and functional. Users can now read and write text files easily and obtain information about a drive if needed. The System.IO.Compression namespace helps read and write data with the GZIP compression and decompression standard described by the IETF REC 1951 and RFC 1952 specifications.


Manifest Based Activation provides support for loading and activating applications using a manifest. This is essential for ClickOnce applications which use the manifest to load the application as against the traditional usage of the assembly to load the application.


.NET Framework Remoting now supports IPv6 addresses and the exchange of generic types. The process of authentication and encryption is supported by System.Runtime.Remoting.Channels.Tcp namespace. The System.Runtime.Remoting.Channels.Ipc permit applications in the same computer communicate with each other without using the network. A connection cache time out can be configured and the number of method retries can be set to improve network performance where remote clusters are involved.


Local computer Network configuration and Usage Information can be obtained by using the classes in the System.Net.NetworkInformation namespace. IP, IPv4, IPv6, TCP and UDP network traffic statistics can be obtained. Local computers network adapter information can also be viewed by users.


Ping enables the user verify whether a remote computer is accessible over the network. The System.Net



Processing HTTP requests from within applications. The System.Net.HttpListener class can be used to create a simple web server that responds to HTTP requests. This web server remains active so long as the application is live and is available only on applications running on Windows XP with Service Pack 2 or Windows Server 2003


Control of Caching can now be done programmatically using the System.Net.Cache namespace. Applications can control the caching of resources obtained using System.Net>WebRequest, System.Net.WebResponse and System.Net.WebClient classes. The .NET framework provides predefined cache policies or the user can specify a custom cache policy for each request.


Programming Languages: A number of changes have been brought into the programming languages used with the .NET framework such as Operator overloading , partial classes, generics, xml documentation, New data types and New keywords in VB.NET and generics, Iterators, anonymous methods and Partial classes in C# . We will study the changes brought into ASP.NET and C# in some detail later in this series.


In this section of the tutorial we have listed out and briefly defined some the major changes that have been wrought into the .NET Framework. The direction of the change was to ensure that developers are freed from writing codes for 70% of the functionality required for their application. The idea was to help them develop in the language that they are familiar with and at the same time provide them with interoperability features that make the language selected seamlessly integrate with other languages of the .NET framework. In the sections that follow we shall examine the impact of these changes on how developers work within the new .NET framework.


  

How to work with partitions in Windows Vista / XP when Disk Management doesn’t work

Wed, 15 Oct, 2008

Windows Vista’s Disk Management tool can be quite deceiving. It allows you to work with partitions at ease in a presentable GUI format - but with problems. There have been a lot of complaints and confusion as to why Windows Vista grays out the extend volume and shrink volume properties. In response to this, I have found an alternative way to work with partitions, allowing you to easily resize, delete, and create partitions.

Diskpart.exe does a very good job at working with partitions. Unlike Disk Management, Diskpart actually works!

Before continuing, make sure that you:

  • Backed up all important files
  • Do not run diskpart.exe with Dynamic Disks

1) First, you’ll want to pull out your Start Menu and type diskpart.exe
(Windows XP users might have to download diskpart.exe )

This will open a command-prompt like window. At this window, type list disk. This will list all your available hard disks.

listdisksd1

2) Proceed by typing select disk <disk number> to select the disk you want to work with.

Creating a Partition or Volume: (skip)

At this point in time, you can create a partition. Type create and a set of new options will be presented to you. To proceed, just type create <new option>. (e.g. create volume)

What kind of partition should I create?

Primary: Primary partitions are limited to four per hard disk. If you are planning to install an operating system into a partition, you’ll want to choose primary since it is the only one that can be made bootable.

Extended: If you are planning to have more than four partitions, you’ll want to work with extended. An extended partition counts towards the limit of four, but you are then allowed to create logical volumes within these extended partitions. You’ll want to use extended partitions for backup or storage purposes only since they are not bootable.


3) Now we want to see which number is associated with the volume we want to work with. To obtain this list, type list volume

volume1

4) Select the desired volume by typing: select volume <number> or select partition <number>

You then have a list of options to choose from. Below is a list of commands you can type in depending on what you want to do with your selected volume. If you don’t input a number for size, the program will automatically use all the space available for your operation. For the purpose of this tutorial, I have decided to work with 10GB. (1000MB = 1GB)

  • Shrink desired=10000 minimum=2000 (Shrinks the volume by 10GB. If that’s not possible, this command makes sure that you at least shrink the volume by 2GB.)
  • Extend size=10000
  • Delete Partition
  • Format

Disk Management can be quite a nuisance since it decides to gray out certain properties on any given day. Please spread the word about diskpart.exe if you know someone who has had trouble working with partitions; as I am sure there are lots who are having similar problems.

Note : Do it on your own risk

 

 


  

How to resize a partition in Windows Vista?

Wed, 15 Oct, 2008

Because programs such as Partition Magic don’t work on Windows Vista, some of you may be wondering how to resize partitions without losing any data. The good news is that you probably won’t be needing those programs because Windows Vista can manage your partition resizing.


To resize a partition with Windows Vista, follow these steps:

Be sure to back up any valuable information, because there is a slight chance that data can be lost when dealing with partitions.

1) Click on the Start menu

2) Right click on Computer and click on Manage

screenshot-1

3) You may get a User Account Control dialog here; just click Continue

4) In the left pane, open up the Storage category and click on Disk Management

capture-1

5) Here, you will find your partitions for your disks. Right click on the partition you’d like to modify.

screenshot-2

6) Click on Extend Volume or Shrink Volume to extend or shrink the selected partition.

Note : Do it on your own risk

 

 

 


  

Top 10 tricks for handling null values in Microsoft Office Access

Mon, 22 Sep, 2008

Where errors are concerned, null values are an equal-opportunity menace. If an unhandled null value doesn't generate a runtime error, it'll show up in erroneous data. Neither problem is your run of the mill "oops, there's a bug" error. In fact, an unhandled null value is the sign of a lazy or inexperienced developer. When null values are acceptable values, and they often are, you must handle them upfront and aggressively.

#1: Knowing null

 

You can't handle a value properly if you don't understand its nature. A common misconception is that a null value is simply an empty field or no value at all. That's not true. A null value indicates that the data is missing or unknown. Occasionally, a null value does mean that the data doesn't exist or isn't valid for that particular record, but the concepts aren't interchangeable.

#2: Dealing with null

 

Since Access allows null values, it's your job to determine whether you want to store them. Generally, the data will be your best guide. If the nature of the data requires that all data be present to save the record, you can handle null values at the table level. Simply set the field's Required property to Yes and bypass the problem. Be prepared for the rules to change.

Few applications are so tight that nulls aren't present. If users need the flexibility to create records without entering all of the data at the time they create the record, you have a choice. Allow the table to store a null value or use a default expression that stores an appropriate text message, such as "NA" or "Pending."

Unfortunately, this solution works only for text fields. For numeric fields, you could use a default value of 0, but that might cause trouble in the long run because functions handle Null and 0 differently (see #7). In addition, the Default property works only for new records. That means that you can't apply this solution to existing records. The truth is, it's usually easier to handle null values than it is to usurp them in this fashion.

#3: Not equating null

 

Don't try to find null values by equating them to anything else. The following expressions return an error, regardless of anything's value:

anything = Null
anything <> Null

As far as Access is concerned, Null doesn't equal anything. You can't use the Equals operator (=) to find null values. Nor can you use the Inequality operator (<>) to exclude them. (This isn't always true outside Access.)

#4: Finding or excluding null values

 

Once you decide that null values are acceptable, it's your job to accommodate them throughout the application. To find or exclude null values, use Is Null and Not Is Null, respectively, in criteria expressions and SQL WHERE clauses. For instance, to find null values in a query, you'd enter Is Null in the appropriate field's Criteria cell. When building a WHERE clause, use Is Null and Not Is Null as follows:

WHERE source.field Is Null
WHERE NOT(source.field) Is Null

Protect VBA expressions from errors by using IsNull()and Not IsNull().For instance, the use of IsNull() in the following If statement handles a potential runtime error when null values exist:

If Not IsNull(field) Then ...

Although Is Null and IsNull() have similar functions, they're not interchangeable.

#5: Working around null

 

Access won't always work with null values as you might expect. If you allow them, be prepared for surprises. For instance, a simple expression such as

GrandTotal = Subtotal + Shipping

becomes a problem if Shipping contains null values. Instead of returning just the Subtotal, as you might expect, the expression returns Null. That's because any equation that encounters a null value will always return Null. Although it's a nuisance, it makes sense. You can't evaluate an unknown value.

If your data contains null values, use the Nz() function to protect your expressions from this error. Specifically, Nz() returns a value other than Null when it encounters Null as follows:

GrandTotal = Subtotal + Nz(Shipping)

In this case, Nz() returns 0 when Shipping equals Null. Use Nz() in criteria and VBA expressions. Access projects don't support Nz(). Instead, use Transact SQL's IsNull function.

#6: Finding null values using ADO

 

In # 3, you learned that Null doesn't equal anything. That's true, as long as you're using native functions and VBA. It isn't true if you're manipulating data via the ActiveX Data Object (ADO) library. For instance, the following statement executed against an ADO Recordset object returns an error:

rst.Find "FaxNumber Is Null"

That's because ADO doesn't recognize the Is operator in this context. The ADO library supports the Equals and Inequality operators when searching for or excluding null values. Fortunately, the correction is as simple as replacing the Is operator with the Equals operator:

rst.Find "FaxNumber = Null"

To exclude null values using ADO, use the Inequality operator:

rst.Find "FaxNumber <> Null"

You'll find Access a bit of an oddball on this issue. Many libraries use the Equals and Inequality operators instead of Is. If a non-native library returns an error when working with null values, this switch will probably do the trick.

#7: Understanding the inconsistency of SQL aggregates

 

Not all aggregate functions consider null values. The good news is, there's a bit of reason to the inconsistency. An aggregate function that evaluates a field does not evaluate null values in its result. However, Count(), First(), and Last() do evaluate null values. It makes sense that they would--just because one field contains a null value doesn't negate the row's purpose within the context of the domain. For instance, Count(*) counts the total number of rows in a recordset even if some of those rows contain null values. If you want to exclude null values in a count, specify the field in the form Count(field). The result of both forms may or may not be the same. The point is, the field-specific form won't consider null values in its count.

#8: Including null values in a conditional search

 

When using a WHERE clause to find or restrict data, you must explicitly specify null values. Otherwise, Jet excludes the row from the results. This behavior is inherent in the equality issue discussed in #3. Because Null doesn't equal anything, it can't satisfy a condition other than Is Null. For instance, the simple expression

WHERE field < 5

will return all the records where field is less than 5--except for those records where field is Null. Now, that might be what you want, but it might not. If you want to include null values, include Is Null in the condition as follows:

WHERE field < 5 OR field Is Null

#9: Excluding null values in a group

 

Jet SQL's GROUP BY clause doesn't eliminate null values from the grouped results. Instead, Jet sorts null values to the top or the bottom of the result set, depending on the sort order. For instance, the following query includes records where the Region field is Null:

SELECT FirstName, LastName, Region
FROM Employees
GROUP BY Region

The result isn't right or wrong, it just might not be what you want. You must explicitly exclude null values. In this case, you'd add a HAVING clause as follows:

SELECT FirstName, LastName, Region
FROM Employees
GROUP BY Region
HAVING Not (Region) Is Null

There's no specific method for explicitly excluding null values. The statement's purpose will dictate the solution.

#10: Using null to spot normalization problems

 

A null value is an acceptable value. However, too many null values often point to an unnormalized table. For instance, if you store customer phone and fax numbers, you might end up with a lot of empty fax number fields. (Even if you have no null values, your table's still not normalized properly, in this case.)

To normalize the phone data, you'd add a table that includes three fields: the foreign key column that relates the phone record to its corresponding customer, the phone number type, and the phone number. The phone number type would identify the phone number as an office, fax, home, cell, and so on. Then, you'd enter phone number records only when appropriate, eliminating null values. If the customer has no fax, there'd be no record for a fax number.


  

What is Vista's ReadyBoost and SuperFetch Technology

Wed, 10 Sep, 2008

superready

Since you're all up to speed on Vista's SideShow feature, it may be time to check out Vista's other new introductions—SuperFetch and ReadyBoost.

SuperFetch tracks what kind of apps you use and loads them into RAM so they can be launched faster. ReadyBoost uses a USB 2.0 flash drive as cache in order to speed up some virtual memory transactions.

But how does this help you?

ram-harddrive

SuperFetch is a sort of super-cache. If you start and close a certain application multiple times a day, the regular Windows XP cache will make that faster upon subsequent launches. However, if you reboot and if you launch other apps, this caching data is lost. SuperFetch analyzes your behavior over multiple sessions, and if you open, say, your email, browser, and chat in the morning, SuperFetch will load those apps into memory as soon as you start up your PC.

Sure, loading more data into the faster RAM from the slower hard drive helps a lot, but the problem with this is that you'll need more "free" RAM in order to take advantage of SuperFetch. Tom's found that 2GB and up gave the best results in caching.

ram-harddrive-usb

ReadyBoost, on the other hand, puts seeks to help out the slow hard drive by caching some data into USB 2.0 flash. By using a ReadyBoost-capable memory stick, you can take advantage of the near-instantaneous seek times on flash drives to get you your data quicker.

In Tom's Hardware tests, ReadyBoost decreased application launch times dramatically on a low-RAM system when partnered with SuperFetch. SuperFetch knew which apps to load onto the faster USB 2.0 flash drive, which then provided quicker access.

The gains when you have a machine with 1GB of RAM diminish, and diminish further when you have 2GB of RAM. However, if you've still got a ReadyBoost-capable drive, you'll still see benefits even on a 2GB machine.

Both of these features tell you that Vista works a lot better when you throw more RAM at it, and Tom's recommends at least 2GB if you're going to take advantage of the caching benefits of SuperFetch

 

 

 


  

What is YouTube? - An introduction to the YouTube.com

Tue, 09 Sep, 2008

YouTube is a video-sharing website that is changing American culture. It seems that every day, some short video clip on YouTube makes headline news. Here's the story behind the phenomenal success of YouTube, and some tips on how you can join the fun...

YouTube: 100 Million Videos Strong

YouTube Video Youtube was created by three pals from PayPal - Chad Hurley, Steve Chen and Jawed Karim - who raised $3.5 million in venture capital to debut their open exchange video site in November 2005. Less than a year later, Google bought YouTube for $1.65 billion. Can you say "cha ching?"

The concept is brilliantly simple. People post videos on YouTube and watch and comment on the videos others have posted. The videos can be anything from a simple rant into a cell phone camera by a frustrated teenager to a favorite sports clip Tivo'd off of ESPN - and everything in between. The numbers generated by YouTube are staggering. One hundred million videos are on the YouTube servers, with 65,000 new ones uploaded every day. They're watched by 20 million viewers a month.

The simplicity of the technology has aided its popularity. YouTube uses the popular Macromedia FlashPlayer 7 and the Sorenson Spark H.263 codec - which offers the combined quality of Windows Media Player and Apple's QuickTime without the need to download additional browser plug-ins. In simpler terms, you click and the video plays... period.

A Cultural Power Shift

Comedian Judson Laipply's six minute "Evolution of Dance," an entertaining journey through the history of dance styles, is the all time most popular video on YouTube with close to 41 million hits. It earned him appearances on Good Morning America and a dozen more national television outlets.

YouTube Video Police Brutality Another clip posted on YouTube last November showed the arrest of alleged gang member William Cardenas, triggering an FBI investigation into police-brutality. And here's a reminder that things are not always as they seem... In May 2006, the Lonelygirl15 video diaries appeared on YouTube, chronicling the small-town life of an American teenager named Bree. The series became wildly popular, but a few months later it was discovered that Bree was actually an actress from New Zealand, hired by two guys from California to pull off an elaborate publicity stunt.

There are dozens of others like these who have found instant Internet celebrity by dancing, singing, mixing Mentos with Coke, posting odd video resumes, and in any number of other creative ways. That is part of the YouTube phenomenon. It's simplicity and global reach - and it's youthful demographics - are driving and changing traditional news media, entertainment, even business and politics.

YouTube: Joining the Fray

To join the YouTube community, go to the sign up page at www.youtube.com, choose a user name and password, and enter your basic information. Then click the "Sign Up" button and you're in. Browsing the millions of videos available is simple. After creating a free account, you can browse through 12 categories, search by keyword or simply check out what's popular that day. If you like one particular video you can subscribe to that user's future videos, using clear prompts on every new video page.

Uploading your own video is almost as simple. A video should be 10 minutes or less and less than 100 MB. Click "Upload Videos" in the upper right hand corner of a YouTube page, and enter as much information as you wish. Click "Go Upload a File," locate the file on your hard drive, then click "Upload Video". YouTube does not allow any video that portrays graphic sex and violence. Those that do are quickly flagged and taken down, as are any that proffer hatred or other potentially offensive material.

Although YouTube is an open exchange, it is possible to make your videos available only to a small group of family, friends or business associates. Either choose between "Private" or "Public" when you first upload, or, after uploading your video, click "Edit Video Info," scroll down to the Broadcast section and select "Private."

The YouTube Community

Youtube is a true global community - with numerous user groups and contests to encourage users to create their own videos, reachable through the "Community" button on any page. The contests might focus on ways to spend a tax refund, telling your darkest secrets, or creating a new music video and some have large cash prizes.

Youtube discourages users from downloading videos to their own computers, preferring that they watch videos online. However, you may embed videos in your own website. Copy the code from the embed box found under "About this Video" on the right while the video is playing. Copy the code, then paste it into your website or blog to embed it.

There are a number of other video sharing sites - including Google Video, UnCut Video on AOL, Vimeo, EyeSpot and VideoEgg. < target="_blank" a href="http://revver.com/">Revver is a popular choice for video producers who want to explore ways to earn money for their work. Video on the web is growing exponentially, but so far nothing can match the cultural impact or enormous volume of YouTube.

Got comments about YouTube or video sharing? Post your thoughts below...


  

SQL DATEDIFF Function - Applies to MS SQL Server and MS Office Access

Tue, 09 Sep, 2008

Returns the number of date and time boundaries crossed between two dates

SQL DATEDIFF Syntax
DATEDIFF ( DatePart , StartDate , EndDate )

DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate ='2007-06-05'
SET @EndDate ='2007-08-05'

SELECT DATEDIFF(Year, @StartDate, @EndDate) AS NewDate

Return Value = 0 Year


SELECT DATEDIFF(quarter, @StartDate, @EndDate) AS NewDate
Return Value =
1 quarter


SELECT DATEDIFF(Month, @StartDate, @EndDate) AS NewDate
Return Value = 2 Month


SELECT DATEDIFF(dayofyear,@StartDate, @EndDate) AS NewDate
Return Value = 61 day


SELECT DATEDIFF(Day, @StartDate, @EndDate) AS NewDate
Return Value = 61 Day


SELECT DATEDIFF(Week, @StartDate, @EndDate) AS NewDate
Return Value = 9 Week


SELECT DATEDIFF(Hour, @StartDate, @EndDate) AS NewDate
Return Value = 1464 Hour


SELECT DATEDIFF(minute, @StartDate, @EndDate) AS NewDate
Return Value = 87840 minute


SELECT DATEDIFF(second, @StartDate, @EndDate) AS NewDate
Return Value = 5270400 second


DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate ='2007-06-05'
SET @EndDate ='2007-06-06'

SELECT DATEDIFF(millisecond, @StartDate, @EndDate) AS NewDate

Return Value = 86400000 millisecond


  

Booting from USB Pen/Key/Flash Drive (Windows/Linux)

Sun, 07 Sep, 2008

Booting a computer from your USB flash drive may seem like a daunting task, but it is actually quite easy. With the right equipment and some basic knowledge, this very useful technique can be taken advantage of in all sorts of different circumstances.

The first thing you will need to do this is a compatible USB flash drive. Most drives are bootable but some are not, so it pays to ask before making a purchase or to do a bit of research online before picking your drive. This is not something the average salesperson will know nor do most companies make it clear on the packaging, so the internet is your best source here. Try to find a drive which has been used successfully in the past, like Corsair's Flash Voyager. The size of the drive is going to be an issue depending on your requirements. If you need to place an entire operating system on the drive, for example, you may need something a bit larger than what you have lying around.

The next step is to make sure that the motherboard which you are working with supports USB booting. To do this simply enter the BIOS (this can usually be done by press the Delete key while the computer is posting) and go into the menu selection titled something like, "Advanced Features". This process is a bit different for every BIOS so you may have to search a bit. Once here look for the boot devices, which will be placed in order: 1st, 2nd, 3rd, and so on. Normally the computer will attempt to boot from the CD-ROM or a specific hard drive first, but you want to change this to the USB drive. The proper selection to do this varies depending on your BIOS version but it be USB RMD-FDD, USB ZIP, USD HDD, USB CD-ROM, or something close to these. Once these is chosen as the 1st boot device you can move your hard drive and/or optical drive down the line (so they will be used if a USB device is not present) or remove everything (so that the computer will only boot from USB). A little trial and error may be needed here to make sure you have chosen the right boot device.

With the BIOS properly configured all that is left to be done is to save the settings and exit. A quick restart and you will be ready to boot from USB. Of course, this is supposing that your USB flash drive already contains the appropriate data.

This part is either very easy or a bit tricky depending on what you need to do. To properly format the USB flash drive you can either use a utility program or use a specialized tool within the software with which you will be booting. Many USB drives will include some sort of software utility which will allow you to format the drive and make it bootable. If your drive did not your drive did include any software HP has a program available which is quite popular. You can find it here. When formatting make sure to use the FAT file system.

If you looking into booting Linux from a USB flash drive there are a few different options, but I have had the highest success rate with Syslinux. This is a lighweight Linux bootloader mainly used for floppy media. This can be useful for distributions of Linux which are tough to get to boot from USB, but some do not need this. Puppy Linux is extremely easy to get to boot from USB and it actually has a built in tool for formatting a USB drive to do this. Other Linux distributions, like Feather Linux and even Fedora Core 3, have been known to work as well.

The quickest way to install Puppy Linux onto a USB drive is to first use it as a Live CD. With is running as a Live CD all you have to do is:

Setup > Install onto a USB stick > (Answer the questions)

After this is over your USB flash drive will be ready to boot Linux onto practically any system. Puppy Linux is the easiest, but the a similar process can be applied to many other distributions.

Booting from your USB stick is quite simple once you know the basics. When you want to start your computer in DOS mode at the A: prompt, boot into Linux, or something more complex, it just takes a little bit of hardware, a few programs, and some patience.


  

Powered by NineOn Inc.