Wednesday, June 15, 2005


PDC: Day Three

With the departure of Rafal, the only "great" speaker left was Clemens Vasters. I attended two of his sessions on Avalon and Indigo, both had brief intros to WinFX also. Clemens is a great speaker, he's from Germany but his english is excellent. Although, he claims to be closer to Indigo more than Avalon, but his work on one Avalon app where he designed an animated CD case using XAML was just beautiful. In his own words, he "could look at it all day!". This new vector-based graphics engine that powers Longhorn is quite wonderful actually. For the first time, we'll witness the wonders of 3D graphics in windows apps. The only downside is, that one has to know XAML in order to write effects making use of Avalon technology but I'm sure there will be designers available in time which will simplify the task considerably.

Clemen's other talk on Indigo was interesting as well. As it turns out, Indigo's services will be implemented over components. They have the ability to run separately from IIS even. A lot of stuff here was new to me ... but I'm sure I'll run into them in the near future.

The other talk was about ASP.NET 2.0 given by Goksin Baker. It started with Master Pages, which are a real nifty addition I must day ... will reduce the use of User Controls in some cases. Bascially, you place all your common content across your website like the (left navigation menu) in the master pahe as simple HTML, and the portions of page which will chanage on a page-by-page basis are represented by 'ContentPlaceHolders'. The control for this purpose is the control. All sub-pages will make use of controls to add content of their own to a specific place holder (distinguished by their ID, obviously). So, the actual page that is served on the web-server is a combination of the master page and the content page, which has filled the content place holder on the master page with its specific content.

Next on was Themes, which contains skins specified in '.skin' files. Skins are defined by defining styles of the different controls we'll be using on our website. This information will go into the .skin file, and for it to be applied ... it's parent Theme must be applied first (since Themes contain skins).

Besides this Goksin gave a brief insight into the 50 or so new controls added in 2.0. Some of them is pretty common stuff, already developed like LoginControl, CreateUserControl, FileUpload etc. but some were really interesting AutoCompile, Callback and Wizards. Looking forward to working with them.

It all ended with the closing ceremony late in the evening, where everyone gave a rousing farewell to Clemens and the rest of the speakers, thanking them for travelling to a place like Pakistan, and especially Karachi. I hope they'll be back next year.

All in all, PDC like before proved to be a great learning experience about what's hot and where technology is headed in the next few years, future areas of research and development and lots of new ideas.

Tuesday, June 14, 2005


PDC: Day Two

I blogged about the Service-Oriented Architecture being talked about a lot in this year's conference, and this day was no different. I started it off with a presentation by Rafal Lucaweicki on Envisioning the Service-Oriented Enterprise. He paints the picture of a world where our applications will either become services or will consist of services themselves ... meaning a 'service' will gain so much popularity that it will be adopted at all levels. Today, its exactly the opposite .. most of the work we do is synchornous with other things ... the "While You Wait" approach, we would be approaching a more asynchronous world in the future. With the help of Smart Clients, services will provide us with reliable, offline and disconnected data access. Future services will have formal interfaces and will be independent of other services to a certain degree. Such services will force the adoption of standards, schemas or contracts will be developed to govern services. Business processes will slowly drift away from Resource Management logic in apps. Ofcourse, this is all theoretical right now ... what actually will happen and how services will actually function is yet to be determined.

The second session I attended was by Arvindra Sehmi and he spoke on Software Factories and DSL Tools. For most of us who don't know what a software factory is, he described it as a domain-specific process which has domain-specific tools and languages. Such factories will help
automate menial tasks. The level of automation in apps is going higher with every version of .NET CLR. The idea behind DSL is to transform general purpose IDEs we use today into Software Factories which are strictly domain-specific. In fact, we use DSL tools even today ... such as the Windows Forms Designer and SQL, but they themselves are too general. Future DSLs will be much more specific to what we want to do.

Automation will go a step further with automatic code generation with DSLs. For that we'lll have custom designers which will sit on top of Visual Studio, which is a general IDE, and help us design the kind of app we want by providing us with a customized toolbox, a drawing surface, our own notations etc.) The idea is very sleek, and Mr. Arvindra did a good job of delivering the presentation. DSLs will reduce code-writing even more ... Maybe even completely since some apps could possibly be developed in the future with the combination of two or three DSL Tools working at different stages of development, who knows!

The other two sessions I took were about Visual Studio Team System and Cryptography in .NET 2.0. Got loads of new and important information from Rafal in Cryptography, as for the VS Team System, it looks like a wonderful feature for companies and software houses to manage their projects using Visual Studio.

Monday, June 13, 2005


PDC: Day One

Yesterday was the first day of PDC. It all started with the Opening session early at 9.30 AM. Most of it was pretty formal stuff except for a presentation by Rafal Lucaweicki, where he outlined future technologies that will change the way developers work. As ever, his lecture was pretty interesting.

The most unfortunate thing about this event is that we have good speakers, talking on great topics BUT at the same time! We have four tracks running in parallel and first off for me was the Connected Systems track where Rafal gave an overview of what exactly is a connected system, and some brief information on Service Orientation. His vision of service oriented machines sounds very sleek, but may take a long time coming. Most of his description was pretty abstract in nature, and is a great topic to research on for us developers.

Connected Systems, as you would imagine, are based on Service Orientation. This is the new phrase we're hearing at this year's event ... every year there's something new being talked about it and this is pretty much it this time. SOA calls for a greater degree of independence of little modules of business processes so that we design our logic without worrying about other factors (for e.g, the type of database connectivity etc.)

Next on was Stepehen Forte with his lecture on Data-Driven Cahcing using SQL Server 2005. Most of this session turned out to be pretty ordinary except for Steve's antics and his jokes. He is a real animated character (like most Americans, I'm told). The only new thing I learned during this session was the introduction of DB Specific datasource controls in Whidbey along with the addition of SQLCacheDependency which allows us to define cache dependency based on changes to a certain database table (A much needed addition, I must add).

He didn't talk about Web Server Caching (mentioned on MSDN as a future enhancement in ASP.NET), instead he chose to talk on pretty much old stuff, OutputCachine and the Cache API.

I stuck around to take his third session, which was about XQuery in SQL Server 2005. The MS guys have added a brand new datatype, called XML to the db fields. This is testament to the fact what a huge success it has been, it is extensively used in Longhorn and its underlying technologies. We can now store xml directly in the database, in its own specialized field and query it using new ways called FLWOR (pronounced as 'flower') expressions, where F=FOR, L=LET, W=WHERE, O=ORDER BY and R=RETURN. These queries can be used in conjunction with traditional TSQL, which is pretty cool. We can output results as an XML datatype or a SQL scalar record. Moreover, we can manipulate data to output new XML using 'sqlcolumn:' and 'sqlvariable:' attributes. I'll post a link to his presentation as soon as I find one.
The new XML fields can be constrained by a schema, where can set conditions like allow only certain tags to be accepted or set limits on the attributes of those tags etc. Nice stuff.

More lies ahead on the second day of PDC, looking forward to that. My professor Saqib Ilyas will be delivering his lecture too, on Web Services. Will post tomorrow's details hopefully tomorrow :P!

Sunday, June 12, 2005


PDC comes to town!

Me and my friends went to the Pearl Continental on Saturday to pick up our PDC delegate kit. PDC, short for Pakistan Developer Conference, is THE place to be right now. Arranged by Microsoft Pakistan, it is a three-day conference of sorts, where guest speakers from all over the world will deliver lectures on the latest technologies like SQL Server 2005, XML, Web Services .NET 2.0 etc.

The three-day agenda and the list of speakers are here. Really looking forward to attending this event.

Monday, June 06, 2005


Tech Talk

I'm pretty much a software guy, and listed are some interesting projects I've done and am doing ...
Always had a hobby of sorts of collecting wallpapers, thought why not put my collection up for download ... from that was born ( originally, lost that domain to some corporate bassa ). Did the website in ASP back in 2001 when there was no .NET or atleast I hadn't heard about it. Recently moved it to ASP.NET as things have gotten clearer in me mind (the concepts n all).

A pretty straight-forward information management utility with an XML data store. First dip into working with XML at the back-end, nice stuff.

Automated Teller Machine
My first year project, made solely in C/C++.

I've taken the following projects this year for subjects of Software Engineering and Database Management Systems respectively ...

LAN Messenger
A network messaging utility that gives its users the ability to have text and audio conversations. The audio part is something totally new to me. I am almost done with the text-bit. Making this on Visual C#.NET with the help of System.Net.Sockets.

For the audio bit, I plan to use the Managed DirectX Libraries. I have got my hands on DirectX 9 SDK, which has some really good samples and documentation for using DirectSound and DirectPlay.

Open-Course Ware (OCW)
The idea is inspired by MIT OCW ( ), although will not developed at the same scale as that. Me and my team are supposed to develop an OCW system for our department that will provide visitors the ability to download Lecture Notes, Assignments, Related Tools etc. for each available course. Teachers will have their own separate accounts, so they can upload new test schedules, assignments n stuff.

The project is very much in its design phase right now. We have come up with the Database Design for this, I may post it here ... its open course-ware, so might as well be open-source :)