Monday, January 31, 2005

Microsoft TechNet and MSDN road show


Just came back from Microsoft TechNet and MSDN road show. Although I missed SQL Server BI and CLR Session but I was able to catch up with ASP.NET 2.0 and Microsoft Team System sessions. It was good to be there but honestly i dint enjoy much of asp.net 2.0 talk. Speaker wasnt confident and he kept making mistakes while developing a simple master detail form. The audience dint also like much seeing speaker having trouble showing hands on code. I believe the speaker was short of practice/practical exposure. But still Microsoft Pakistan should be commended and appreciated for bringing another international event to Pakistan. It was also great to recieve appreciation on INETA Pakistans Role from Mr. Jawwadur Rehman, Country Manager,Microsoft Pakistan. Due to the combined efforts of Microsoft Pakistan and INETA Pakistan, there were almost 100 entries from Pakistan for Imagine Cup, this is a great feat whithin itself to achieve,since, Pakistan is participating for the first time in Imagine Cup.

Its been proved that I am a NERD ;)

My Score on NERD Test:



What does that mean ? According to them:

High-Level Nerd. You are definitely MIT material, apply now!!!.

I am nerdier than 87% of all people. Are you nerdier? Click here to find out!

natn's WebLog [RFID and BI]

natn's WebLog: "RFID and BI
I visited the new Seattle Central Library this weekend - if you have not heard about it, it is a state-of-the-art library with impressive architectural features as well. The library has wireless internet access on all the 11 floors and has machine readers for people who are visually challenged. But, the most impressive fact was that all its books are RFID tagged - that is each and every book in the library. What is the use of it? Plenty! You don't have to scan each book to check out, just scan all the books at once and you are done checking out. But, even more impressive is that the library has automatic handlers (conveyor belts) that can take the returned books, sort them using the RFID signals, and route it to the appropriate section of this vast library. I mean, not only the RFID helps them with tracking items accurately but also saves them labor costs in sorting returned books. Impressive.

As a BI person, I can't help thinking that there are going to be great new opportunities in analyzing the massive amounts of data collected from RFID tagged items as they go through a supply chain system (or any other chain for that matter) and deducting new intelligence. And particularly, when RFID tagged items are supplemented with sensors that can use telemetry to transmit data to central systems, you essentially can have data about an item from cradle to grave. For example, a car manufacturer using such data may perhaps be able to understand and predict breakdowns and then use this information to design more reliable cars! I would like to hear other BI type applications that RFID technology could potentially spawn!"

Auto Increment Column In DataTable

DataColumn objDataColumn = new DataColumn();
objDataColumn.ColumnName = "AutoColumn";
objDataColumn.AutoIncrement = true;
objDataColumn.AutoIncrementSeed = 1;
objDataColumn.AutoIncrementStep = 1;

objDataTable.Columns.Add(objDataColumn);

Tuesday, January 25, 2005

Microsoft to digitize Indian maps :: AO

Microsoft to digitize Indian maps :: AO: "The Indian government on Wednesday asked software giant Microsoft Corp. to put its vast collection of satellite images, remote sensing data and other information about the country's terrain in digital form.

'As the project progresses, citizens of India can actually get a bird's eye view of the country,' said P. Anandan, head of Microsoft Research India, the company's research center opened at the southern city of Bangalore, also on Wednesday. "

Research on ITs Impact in Rural Areas Is Among Top Priorities for New India Lab

Research on IT�s Impact in Rural Areas Is Among Top Priorities for New India Lab: "Research on IT�s Impact in Rural Areas Is Among Top Priorities for New India Lab
In a remote agricultural village where the average worker earns about $40 (U.S.) per month and electricity might only be available for two hours a day, what possible difference could a computer make?
P. Anandan and Kentaro Toyama have journeyed halfway around the world to answer that question, as well as probe many other intriguing issues, at the new Microsoft Research India facility that officially opened Jan. 12, 2005, in Bangalore. Anandan became managing director of the lab after more than seven years as a senior researcher at the Microsoft Research facility in Redmond, Wash., while Toyama assumed the roles of assistant managing director and head of the Emerging Markets Group at Microsoft Research India. "

BBC NEWS | Programmes | Click Online | Bill Gates plots a Windows future


BBC NEWS | Programmes | Click Online | Bill Gates plots a Windows future: "Bill Gates plots a Windows future "

Thursday, January 20, 2005

Role Of Remoting in "INDIGO" { __TransparentProxy is the KING}

INGO RAMMER tells about "Role of Remoting in INDIGO":-

In case you havent seen him, here is his pic. He is considered to be the "GOD of .NET Remoting".



I recently asked Ingo Rammer about the role of remoting in "INDIGO". Here is his response:

Hiya,

The role of Remoting after Indigo? Hmm ... it will be the same role as the one of ASP.NET Web services, WSE 2.0, MSMQ, and Enterprise Services/COM+: Existing apps will continue to work (you can even run Indigo and any of these previous technologies in the same application and AppDomain). New apps (or parts thereof) will however quite likely be developed directly based on Indigo. (If running on Windows XP, Windows Server 2003 or - future - Longhorn as these are the only platforms which will be supported). "Normal" apps with the previous technologies (Remoting, ASP.NET, ...) will be quite easy to migrate. Custom transport channels and custom sinks will be harder to move ... i.e. they will have to be rewritten using the new extensibility models.

Oh btw: Remoting will also continue to exist for areas which are not addressed by Indigo like cross-AppDomain communication. After all: Indigo is based on Remoting's __TransparentProxy architecture anyway ;-)

Hope this helps to clarify your questions.

Cheers,
-Ingo

C ω ( Pronounced as C Omega )

After C #, there was every possibility that we will get to see more programming languages with "C" followed by some alphabet. We dint have to wait for too long for it , now we have C ω (pronounced as C "OMEGA")

. This language is being developed by microsoft research team.

In case if you are wondering that why do need another programming language, specially provided the success of C#. Then let me tell you that there are a lot areas and domains that are yet to be catered by commercial/main stream programming languages. For more on this, do read "Transitions in Programming Models" by Luca Cardelli .

According to C Omega home page :
C ω in particular is an extension of C# in two different areas:

1- A control flow extension for asynchronous wide-area concurrency (formerly known as Polyphonic C#): For more on concurrent programming do read "Modern Concurrency Abstractions for C#. Nick Benton, Luca Cardelli, Cedric Fournet", available here and here

2- A data type extension for XML and table manipulation (formerly known as Xen and as X#):
read an excellent article on msdn about it here.


Also read what Andres Hejlsberg has to say about it and C# 3.0 here



download this video here

Wednesday, January 19, 2005

Not enough storage is available to complete this operation

Not enough storage is available to complete this operation


This is one error that we keep on encountering every now and then. My initial guess was that it might had something to do with COM+. But when i googled for this ..... i found out it usually happens
......" when the PagedPoolSize is either set too small or when an application does not re-allocate memory correctly"..


Workaround
According to Microsoft help and support:

This problem can be worked around by using the registry editor to zero out the PagedPoolSize parameter.

WARNING: Using the Registry Editor incorrectly can cause serious, system- wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of the Registry Editor can be solved. Use this tool at your own risk.


This above solution was actually chalked out for Windows NT 3.X and 4.0, and we are facing it with Windows 2000 Servers. I will try to apply this thing to our servers and see if we could get rid of this problem...

till then, stay tuned and keep checking my blog :)

Wednesday, January 12, 2005

Main Page - FreeMind - free mind mapping software

Main Page - FreeMind - free mind mapping software: "FreeMind - free mind mapping software
FreeMind is a premier free mind-mapping software written in Java. The recent development has hopefully turned it into high productivity tool. We are proud that the operation and navigation of FreeMind is faster than that of Mind Manager because of one-click 'fold / unfold' and 'follow link' operations.
So you want to write a completely new metaphysics? Why don't you use FreeMind? You have a tool at hand that remarkably resembles the tray slips of Robert Pirsig, described in his sequel to Zen and the Art of Motorcycle Maintenance called Lila. Do you want to refactor your essays in a similar way you would refactor software? Or do you want to keep personal knowledge base, which is easy to manage? Why don't you try FreeMind? Do you want to prioritize, know where you are, where you've been and where you are heading, as Stephen Covey would advise you? Have you tried FreeMind to keep track of all the things that are needed for that?
Did FreeMind make you angry? Please write us (http://sourceforge.net/forum/forum.php?forum_id=320014), anonymously if you want. "

Tuesday, January 11, 2005

ASP.NET Common Performance Myths

Rob Howard dispells Common Performance Myths:

One of the most common myths is that C# code is faster than Visual Basic code. There is a grain of truth in this, as it is possible to take several performance-hindering actions in Visual Basic that are not possible to accomplish in C#, such as not explicitly declaring types. But if good programming practices are followed, there is no reason why Visual Basic and C# code cannot execute with nearly identical performance. To put it more succinctly, similar code produces similar results.

Another myth is that codebehind is faster than inline, which is absolutely false. It doesn't matter where your code for your ASP.NET application lives, whether in a codebehind file or inline with the ASP.NET page. Sometimes I prefer to use inline code as changes don't incur the same update costs as codebehind. For example, with codebehind you have to update the entire codebehind DLL, which can be a scary proposition.

Myth number three is that components are faster than pages. This was true in Classic ASP when compiled COM servers were much faster than VBScript. With ASP.NET, however, both pages and components are classes. Whether your code is inline in a page, within a codebehind, or in a separate component makes little performance difference. Organizationally, it is better to group functionality logically this way, but again it makes no difference with regard to performance.

The final myth I want to dispel is that every functionality that you want to occur between two apps should be implemented as a Web service. Web services should be used to connect disparate systems or to provide remote access to system functionality or behaviors. They should not be used internally to connect two similar systems. While easy to use, there are much better alternatives. The worst thing you can do is use Web services for communicating between ASP and ASP.NET applications running on the same server, which I've witnessed all too frequently.

NHibernate in beta release now !

NHibernate: "NHibernate is a .NET based object persistence library for relational databases. NHibernate is a port of the excellent Java Hibernate relational persistence tool.
(If you are courious about what is Hibernate: Hibernate is a powerful, ultra-high performance object/relational persistence and query service for Java. Hibernate lets you develop persistent classes following common Java idiom - including association, inheritance, polymorphism, composition and the Java collections framework. The Hibernate Query Language, designed as a 'minimal' object-oriented extension to SQL, provides an elegant bridge between the object and relational worlds. Hibernate also allows you to express queries using native SQL or Java-based Criteria and Example queries.) "

Sunday, January 09, 2005

Challenging traditional 3-layer/3-tier view of application

I just came across an interesting article by Rockford Lhotka at TheServerSide.net. In this article titled "The Fallacy of the Data Layer" Mr Lhotka insists that in a service oriented world we should not view data access as a layer but rather as a service. He quite rightly points that Data Sources usually are not maintained/owned exclusively by the application(service) (e.g think of SQL Server or any other data store) and hence they can not be thought of as an application layer. I believe he makes a valid point and it should be taken. So, next time in Service Oriented Context, don't think/call ur data access code a "layer", rather call it a "service".

Saturday, January 08, 2005

kbAlertz: 889877 : BUG: The Submit button on ASP.NET pages does not work after you install the .NET Framework 1.1 Service Pack 1

kbAlertz: 889877 : BUG: The Submit button on ASP.NET pages does not work after you install the .NET Framework 1.1 Service Pack 1: "SYMPTOMS
After you install the Microsoft .NET Framework Service Pack 1, the Submit button on Microsoft ASP.NET pages may not work. You do not receive any error messages.
CAUSE
This problem occurs because client-side script files that are in the Web site are not synchronized with the .NET Framework 1.1. The PostBack event on client-side validation is stopped.
RESOLUTION
To resolve this problem, install the client-side scripts to the Aspnet_client subfolder of each Microsoft Internet Information Services (IIS) site folder. To do this, click Start, click Run, type the following command in the Open box, and then click OK:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322.aspnet_regiis.exe -c
If you use source control, the 'aspnet_regiis.exe �c' command might not work because script files are considered read only. If the command does not work, remove the Aspnet_client folder from source control.
STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the 'Applies to' section."

MS Anti Spyware (BETA) released!



Download it here.

Friday, January 07, 2005

BPEL (Business Process Execution Language)

Dint I tell u that BPEL is the next big thing in Service Oriented world where we orchestrate and connect different automations (business processes) to acheieve desired workflow (business process).

Here is a good article at FTP Online / Enterprise Architect.

Now read it and dont ever complain that i never told u that :)

Get Weekday (name) from a date in SQL Server

Today one of a friend wanted to know how to find out if todays is Sunday/Friday/Monday etc or not (ofcourse thats from within SQL Server, or else ur mom wud have told u :) )..
so here is the query that you can use:

select DATENAME(dw , )

you can pass "dw" or "weekday" as a first parameter to date name which specifies the part of date returned.

so a sample query will be

SELECT case when DATENAME(dw , getdate()) <> 'Sunday' then 'Its Not Sunday today' else 'Its Sunday today' end


since today is friday the result was

"Its Not Sunday today"


No rocket science, just doing small things the right way!

MS ASP.NET Portal Starter Kit

Portal Prototype in a days time !


Our COO wants our IT dept. to develop an intranet based portal that can be used as an information sharing tool, centralized repository for sharable documents and an open discussion forum. For this purpose i was aksed to come up with a functional prototype. I dint have the time to waste, I had always thought abt using IBuySpy and this was the best time to do it. So I went to http://www.asp.net/Default.aspx?tabindex=8&tabid=47 and downloaded.

In a couple of hours time I was able to configure and modify it according to our requirements and my boss showed it to our CEO. Who said "...this is exactly what I was looking for..."



what else do u want ;)

Tuesday, January 04, 2005

X-develop : A Cool IDE !

Another excellent post at TheServerSide:

X-develop is a multi-language IDE for the .NET and Java platforms. It supports the C#, Visual Basic.NET, Java and J# programming languages. Productivity-enhancing features such as on-the-fly error checking of all files, refactoring and smart code templates are supported for all languages.

Feature highlights:

Instant detection of errors throughout all files
No need to compile in order to find out if there are errors. X-develop checks all files in the solution on-the-fly in the background and displays errors in an instant.

Refactoring
X-develop includes refactoring support for renaming variables, methods, classes, changing method signature, extracting methods and more. Cross-language refactoring is supported: If for example a method defined in a C# source file is renamed invocations of this method in Visual Basic source files are automatically updated.

Productivity features
Coding tools such as Organize imports, Usage search, Code formatting, Smart templates, Go to class, Go to symbol and more increase productivity.

Compatibility with Visual Studio .NET 2005
X-develop is fully compatible with Visual Studio .NET 2005 solutions and project files. There is no need for importing/exporting projects, just work with existing VS.NET solutions.

Support for C# 2.0
X-develop fully supports the latest C# 2.0 language features such generic types, partial classes, Nullable, etc.

Language plugins
Programming language support in X-develop is realized with a language plugin API. The plugin API makes it possible to bring advanced features including refactoring and error checking to any desired language.

A preview version is now available for download from www.x-develop.com.

More information: http://www.x-develop.com
Discussion forum: http://forum.omnicore.com/forumdisplay.php?forumid=13

Monday, January 03, 2005

VS 2005 December CTP Released

VS 2005 December CTP Released: "Visual Studio Team System consists of:

Visual Studio Team Foundation, an extensible team collaboration server that enables all members of the extended IT team to effortlessly manage and track the progress and health of projects
Visual Studio Team Architect, visual designers that enable architects, operations managers, and developers to design service-oriented solutions that can be validated against their operational environments
Visual Studio Team Developer, advanced development tools that enable teams to build reliable, mission-critical services and applications
Visual Studio Team Test, advanced load testing tools that enable teams to verify the performance of applications prior to deployment
Visual Studio Team Suite, a bundle of Visual Studio Team Architect Edition, Visual Studio Team Developer Edition, and Visual Studio Team Test Edition
Proven process guidance, prescriptive architectural guidance, and solution accelerators that assist organizations in improving the predictability and reliability of delivering mission-critical solutions"

New C# 2005 Overview Released

New C# 2005 Overview Released: "C# 2.0 introduces several language extensions, including Generics, Anonymous Methods, Iterators, Partial Types, and Nullable Types.

Generics permit classes, structs, interfaces, delegates, and methods to be parameterized by the types of data they store and manipulate. Generics are useful because they provide stronger compile-time type checking, require fewer explicit conversions between data types, and reduce the need for boxing operations and run-time type checks.
Anonymous methods allow code blocks to be written �in-line� where delegate values are expected. Anonymous methods are similar to lambda functions in the Lisp programming language. C# 2.0 supports the creation of �closures� where anonymous methods access surrounding local variables and parameters.
Iterators are methods that incrementally compute and yield a sequence of values. Iterators make it easy for a type to specify how the foreach statement will iterate over its elements.
Partial types allow classes, structs, and interfaces to be broken into multiple pieces stored in different source files for easier development and maintenance. Additionally, partial types allow separation of machine-generated and user-written parts of types so that it is easier to augment code generated by a tool.
Nullable types represent values that possibly are unknown. A nullable type supports all values of its underlying type plus an additional null state. Any value type can be the underlying type of a nullable type. A nullable type supports the same conversions and operators as its underlying type, but additionally provides null value propagation similar to SQL. "