Getting Started with ObjectSpaces

If you are a .NET developer you have got to know all the tricks in the bag. ObjectSpaces is to .NET what EJB is to Java.

Getting Started with ObjectSpaces by Jan Tielens

ObjectSpaces is one of the exciting features coming in the new version of .NET Framework, codename "Whidbey". This article will explain what ObjectSpaces are and will provide a step-by-step guide to a first experience with ObjectSpaces.


[Code/Tea/Etc...]

ASP.NET 2.0: DataGrid Sample

ASP.NET 2.0 streamlines data-driven application development. This example uses the categories and product tables in SQL Server's Northwind sample database, displaying the categories in a dropdown list. This code listing uses the selected category in the dropdown list to display all the products in that category in a GridView control.

<%@ page language="C#" %>
<html>
<
headrunat="server"ID="Head1"NAME="Head1">
            <title>SqlDataSource
            Example
            </title>
</
head>
<
body>
<
formrunat="server"ID="Form1">               
      <asp:sqldatasource
           
id="categoriesDataSource"    
           
runat="server"
           
datasourcemode="DataSet"
           
connectionstring="Data
            Source=localhost;uid=sa;
            pwd=;Initial
            Catalog=Northwind;"
            selectcommand="usp_GetCategories">
      </asp:sqldatasource>
      Select Categories:
      <asp:dropdownlist
           
id="ddlCategoriesList"
           
runat="server"
           
datavaluefield="CategoryID"
           
datasourceid="categoriesDataSource"
           
autopostback="true"
            datatextfield="CategoryName">
      </asp:dropdownlist>
      <asp:sqldatasourcerunat="server"
           
id="productsDataSource"
           
datasourcemode="DataReader"
            connectionstring="Data
            Source=localhost;uid=sa;pwd=;
            Initial Catalog=Northwind;"
            selectcommand="SELECT ProductID,
            ProductName, QuantityPerUnit,
            UnitPrice  FROM Products Where
            CategoryID=@CategoryID">
            <selectparameters>
            <asp:controlparameter
                 
defaultvalue="1"
                 
name="CategoryID"
                 
propertyname="SelectedValue"
                 
controlid="ddlCategoriesList">
            </asp:controlparameter>
            </selectparameters>
      </asp:sqldatasource>
      <br/><b><br/>
      Product Details<br/></b><br/>
      <asp:gridview
           
id="productsGrid"runat="server"
           
datasourceid="productsDataSource">
      </asp:gridview>
</
form>
</
body>
</
html>

Mozilla trots out Firefox browser

The Mozilla Foundation released a new version of its open source Web browser this week, with improvements to its download manager, extension and bookmark handling, along with a new name aimed at skirting trademark complaints from another open source project.

This is my default browser now! Download it from here.

Market Vote

It was the ninth day of February and the Colombo bourse gave to many investors a heart burn as they watched their portfolios swoop to new lows.

Industry watchers say they were hoping not to see a third general election within a span of less than four years.

Monday’s backlash was seen as a vote from Colombo investors, indicating their displeasure with the Madam President’s decision to dissolve parliament and call for snap polls in early April.

Since the last trading day on Friday, the market has dropped about Rs. 30 billion with the ASP Index losing 10% of its gains to close at 1058.3.

Analysts expect the market condition to deteriorate further with the run up to elections in April, despite some stocks posting healthy financial results and are poised to record further growth in the next quarter.

Major casualties in Monday’s carnage included conglomerate John Keells Holdings, shedding Rs. 20.50 on the floor to close at Rs. 95.00 on 1.2 million shares trading.

Sri Lanka Telecom stocks closed at Rs. 17.00, down Rs. 3.50, trading 2.38 million shares.

National Development Bank stocks closed Rs. 24.25 lower at Rs. 131.00 trading 121,100 shares.

Other big price drops were posted by DFCC losing Rs. 50.00 to close at Rs. 200.00 and hotel sector giant Aitken Spence shedding Rs. 31.00 closing at Rs. 241.00. [Read more]

What does the President think we will gain if this election gives the same result as the last one (which is what is going to happen anyway)?

Parliament Dissolution May Cost Sri Lanka Billions in Aid

A US $4.5 billion aid package for Sri Lanka is in jeopardy with the dissolution of Parliament by President Chandrika Kumaratunga on February 7 - ten days ahead of a crucial donor meet in Washington.

The reconstruction package for the war-torn country was pledged in Tokyo in June 2003. The US, European Union, Japan and Norway will chair the conference of 49 donor countries in Washington on February 17.

"Deputy Secretary of State Richard Armitage has confirmed that the donor review meeting will be held as scheduled," says a US embassy spokesperson in Colombo.

But in the current political chaos, analysts fear a sharp decrease in funds for reconstruction from donor countries in the West.

This apart, they feel the political instability in the south could spur the LTTE to ask to be appointed the sole authority to manage foreign aid - a demand so far rejected by the international community. [Read more]

Users Can’t Know Their Requirements Early

This is a golden rule that all project managers, developers and testers need to understand.

I've been thinking more about requirements. In the most recent two assessments I've done, both organizations have been stuck on thinking they could define their requirements before design and implementation.

IWBNI (It Would Be Nice If) users could know their requirements early. For small projects (a couple of people, maybe a couple of months) it might even be possible to fully know and define the requirements at the beginning of the project. But I contend it's not possible for users to fully know their requirements early for any substantive effort.

The nature of software -- ephemeral and malleable and not well understood by users until the users see the artifacts -- guarantees that as soon as a user sees the system, the user will see the next step in the evolution of the requirements. (If any of you want to help me rewrite that sentence, please do.)

Here's an example. Fifteen years ago, I bought a light timer for the lights outside the front door. We want the lights to come on when the sun goes down and go off when we're all in for the evening. It was an electro-mechanical clock timer switch and worked for about ten years. About five years ago it started losing time and the ring around the outside was harder and harder to use, to set the time properly. Finally, I took Mark to Home Depot a couple of weekends ago and said, "Honey, it's time for a new switch." I used the don't-argue-with-the-wife voice, and Mark decided to give in. He picked up a timer with an LCD display and put it in the cart. I picked it up and said, "Oh, no, this has software in it. We don't need something this complicated." We discussed it, and he used the don't-argue-with-the-husband-who's-going-to-install-it-for-you voice, and I acceded. Well, when he's right, he's right. I love the timer. It knows when sunset is, so the lights always come on at sunset. We don't have to reprogram it every week, or risk the kids coming home to a dark entryway.

I didn't think I needed the extra features. In fact I was sure I didn't need them. It wasn't until I saw how well the timer worked that I realized the extra features were exactly what I wanted. I don't want to have to reprogram the timer every week during the winter. I don't want to mess with it at all. But I was sure no product could do what this timer did. But the "extra" features are now part of what I require in a light timer.

I could have taken my own advice about requirements, and asked myself "What attributes of the timer are important to me, as a user?" I would have answered: ease of programming, fewer times of programming, programming override for those gray days. The first two in my list are system attributes, not functionality. Users are notoriously ambiguous about system attributes -- not because they want to be, but because they literally don't know how they want the system to work. The override is partly functionality, and partly an attribute of the system.

System attributes are the most important part of the requirements (some people call these non-functional requirements), and they are the hardest to determine in advance. One of the reasons agile methods work so well is that the user/customer sits with the team and discusses the system attributes constantly. If you're not using agile methods, plan on iterating on requirements anyway. Especially plan on iterating through the system attributes, and the product cost for those attributes. You won't know your requirements early, but you'll learn them as you develop the system. And you'll develop a product people want to buy.


[Managing Product Development]

Microsoft to preview Whidbey toolset

Microsoft plans to offer developers a pre-release version of its next Visual Studio .Net platform, codenamed Whidbey, next month, planning to drum up interest in its next generation Longhorn operating system, due in 2006.

Whidbey will show off a new runtime model and various new application programming interfaces (APIs) that will be at the heart of all Longhorn applications. With both Longhorn and Whidbey extremely critical to Microsoft’s future, the company is being more cautious about their release than it has been with previous products, which saw one beta and then shipment. Whidbey has already had one pre-release, and a third, full public beta will follow this one in midyear, before product shipment in late 2004. [Read more]

Can Apple Keep the Worms Out?

"In the wake of the MyDoom/NovaRG fiasco, every Mac columnist has an easy out. After yet another virus attack has hammered the Windows world, the automatic response has been to pen the standard Mac gloat. It goes something like this: I didn't get this virus because I have a Mac. In fact, I never get viruses. Never have, never will. That's because Mac software is simply better than Windows software. So there....

The game changed for Apple when it upgraded from OS 9's fairly unique operating system to the Unix-based OS X. That meant any attack aimed at Unix machines could affect Macs. And plenty of virus and worm attacks have been aimed at Unix.

In short, now that Apple has Unix under the hood, Steve Jobs can't rely on security through obscurity. The argument that Apple is safer because of its marginal place in computing's cosmos no longer applies. With its embrace of Unix, Apple has joined a big family -- and it keeps growing, thanks to Linux and other open-source versions of Unix."


[Lockergnome's Technology News]

Open Source Testing

Open Source Testing is a compendium of 138 open source testing tools, including unit testing, feature testing, performance testing, bug tracking, the whole gamut. If you're considering building some testing infrastructure, you should spend some time looking around here first.

Parliament Dissolved?

The President pointed out that the Sri Lanka Freedom Party has been victorious when it united with other parties from the left.  President Chandrika Bandaranaike Kumaratunga has accepted a request by the SLFP parliamentary group and electoral organisers to dissolve parliament and hold a snap general election.

We don’t need this now!