Friday, June 02, 2006

.NET Developers


My Office wanted to find some good .NET resources since two of our best guys are leaving. So we found some CVs through the staff itself and we interviewed some of them. After spending time for all the interviews, we could select only one person, but unfortunately he had commitment to his current work place as he was leading the team there. So he was not in a passion to join
The GM proposed that we should go for a big paper advertisement and we should conduct an examination to recruit some people. But when I looked around,  I found lot of paper advertisement similar to our requirement in the Sunday paper. It that case, it’s a game of convincing developers, why they should select our company.  


I think you can find Three types of resources in the industry.
1) People who have a degree as a qualification and know some development language semantics form some course or certification.
2) People who are creative, who reads books, who experiments and challenge software development concepts.
3) People who have no idea what programming is

1st type of people is usually recruited by large outsourcing companies. Because they have a well setup internal process and its matter of training new people to follow the process and making them knowledgeable only in the area that the company wants them to be fit in.

2nd types are the people who works is small or medium scale development companies. Companies which develop products or custom creative projects based on customer requirements. The customers of these companies are not ready to pay for various additional resources such as business process consultants, dedicated project managers etc. They expect a team of 5-10 people will do the job for a flat rate and they don’t wont jazz like dedicated project manager and domain consultant etc..

These requirements result the need of multi talented, very creative people to support these software projects. The developers should have little marking ability and personality, planning ability, R&D skills and self discipline to very closely communicate with team members and management. The reason is that, there are no closely monitored process and supervisor level people to monitor whether everybody is following the process. Basically no one will consider the management time as a need and no one is there to pay for this time.

When you compare software developers, you can find hundreds or thousands of people of category 1, but very limited people like 500 for category 2. Because category 2 is value addition to category 1 and the companies looking for category 1 prefers category 2 people.

Therefore finding a category 2 person is very hard. Even if you find one, he is currently working in someplace and they won’t allow him to leave. They will offer what ever he wants because it’s a very valuable asset to them and they know how hard it is  to find same caliber of a person.

I think usually at a given time, there are 20-30 developers in category 2 changing their companies due to some reasons. But since there are new companies joining the industry every day, grabbing one is been a major challenge.

In a way the outsourcing model has created some of the problems.
Consider the garment industry in Sri Lanka. Sri Lanka is one of the best countries who produce garments to the world. But see how it works. International company seeks a local partner to outsource its production. They will setup the factory, train people, and create processors and they will create a best business venture.

But what happened when the US stop the quota system.?. Most of the Sri Lankan garments factories had to close. My point is that, knowledge won’t come to 3rd world countries as to independently operate. Some consultant creates a process and makes our people to follow that. Locals don’t know the whole operation. That’s why they couldn’t create own brands and designs and market it to the world. Locals are best at following someone else’s process productively but not at creating complete processors own there own.
This is happening to the local Software industry as well. A company which does well in outsourcing in SL has only their production arm locally. Either there process is setup by some international consultants or they are getting the whole spec from another country to produce the code.

Some time back I interviewed a Software Engineer, who worked in some major outsourcing company in Sri Lanka. When I asked him some simple questions like , “how to make a connection to the DB” for my surprise, he told me that he doesn’t know to do it as they are using ready made components.

This is the bad side of outsourcing. It will make our workforce dumb; destroy their creativity and destroy the eager to learn new things. Most of the developers don’t like to put extra effort to lean something and improve themselves from developers to architects or some senior level. They want a higher salary with less effort but doing same set of job functionalities. This has not become a problem now because there are lots of outsourcing jobs in the country. But we have no idea when this model is going to fail. In that day we are going to face a hell of a problem….

Sunday, May 28, 2006

Information

This is really cool. You need Macromedia Shockwave player to view this. Believe me its worth downloading. Click Click Click......







Wednesday, May 24, 2006

Intellisense for SQL Server

Found another good tool while browsing the web. SQL Prompt™ will add Intellisense to your SQL queries. Currently its free and hope it will be the same in the future.


BusyBoxDotNet

BusyBoxDotNet is free ASP.NET Control which can be used to a show a Message when performing long process.

Seems to be a very useful control, Check it out @ http://busyboxdotnet.qsh.eu/

Sunday, April 23, 2006

Introduction to Windows Workstation Foundation (WF)

[SDK, Up Coming Tools]

Consider a process like “Complain Management System”, where you need to get the customer complains through a Web site or a published for Phone no. Internal employer should be appointed to act upon complains and take the necessary actions. A Manager should review the employer actions and then get back to the customer.

Typical organization wants to implement many processors like this and monitor the progress of them.

Some elements are human processes and some are System process if you take a look at the above ( e.g Customer needs to enter the complain through a website is Human responsibility and authenticate customer in to the system is System responsibility.)

You can find hundreds of processes like this in your day to day work environment. Do you have a facility to setup something like this using MS Office or other available software?This is where the up coming Windows Work Flow (WF) comes in to place. WF will be an Application development framework to design applications to setup work flow in your organization and a user friendly integrated set of tools with next
Office Suite (V12).


More @ http://www.codeproject.com/dotnet/UnderstandWWF.asp

Mapping Data Provider Data Types

[.NET 2.0 Data Access]


We recommend that you use the typed accessor methods of the DataReader when you know the specific type of the value being returned. Typed accessor methods result in better performance by returning a value as a specific .NET Framework type, eliminating the need for additional type conversion. The SqlDataReader exposes SQL Server–specific typed accessor methods if a .NET Framework type does not meet the needs of the application. SQL Server–specific typed accessor methods return objects of System.Data.SqlTypes.” -- local MSDN


Above lines are extracted from MSDN which confirms that you should use accessors to read the data out of data readers and it will result better performance since it eliminates type casting. Further MSDN describes the getter names which you should use in SQL and Oracle provides for specific data type. So better to read section “Mapping Data Provider Data Types to .NET Framework Data Types” before reading values from datareaders.

Saturday, December 31, 2005

.NET 2 Links

Found some good reference material for .NET 2.0 today.
They are as follows
Visual Studio 2005 and .NET Framework 2.0 Setup Troubleshooting Guide
ASP.NET jumpstarted: Establishing the Application and Page Framework
Visual Studio 2005 Class DesignerNew dataset Features in Visual Studio 2005
http://www.c-sharpcorner.com/vs2005.asp
Brian Goldberg Blog    


Now there is a page for ASP.NET UI Designers as well. You can find info on how to design your page according to web standards, Themes master pager etc. So Asela (Who is our UI designer at office) be ready, I'm going to bug you to implement them.
ASP.NET for Designers

    

Thursday, December 29, 2005

UK government gateway runs totally on Microsoft software

I just found that UK government gateway runs totally on Microsoft software. It runs on top of Windows 2000 Advanced Server using BizTalk Server 2000, SQL Server 2000, Internet Security and Acceleration Server 2000, Application Center 2000, and Commerce Server 2000. According to Microsoft, this was there largest BizTalk server implementation. Even though the Linux community criticize this, It has proven that the Stability and Practicality of Microsoft solutions. This would be a good reference for me to convince customers for .NET Framework based applications.

More @ http://www.ciber-uk.com/casestudies/search_results_single.cfm?id=ukonline

Tuesday, December 13, 2005

.NET Localization

[ C#, .NET 1.1, 2.0 ]

We can do this by using resource files. A default resource file is generated for every form and text, images etc will be stored in this file and they are complied in to a satellite assembly. Custom text which you need to display as messages etc can be embedded in to custom resource file. You have to create this file manually.

To create multi language form first you have to set the Localize property to true;

Then you can add controls to the form. These controls will be added in the default language. Then you can change the language property to the language that you want and enter text in the form. This will result creating two resource file for the Form by the designer with there culture-name. At the compile time multiple assemblies are created for each culture. When you change the current culture form the Regional Settings the form will load with the specific language text that you added to the form.

Custom resource files will act as the same way, but you have to manually name them accordingly. Ex. Messages.resx , Meesages.fr-FR.resx

You have to load them in the following way

private void button1_Click(object sender, EventArgs e)

{

ResourceManager localResMgr = new ResourceManager("GraphicsTest.messages", typeof(TestWinControls).Assembly);

string welcomeMsg = localResMgr.GetString("strWelcomeMessage");

MessageBox.Show(welcomeMsg);

}

To check this you have to manually change the UI Culture of the form. You have to change the current threads’ UI culture in the Constructor of the Form before the Initializecomponent method is called.


public TestWinControls()

{

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");

InitializeComponent();

}

Note: When you deploy the application the OS should be Win2k , Win3K or WinXP Multi-Language version and you should be able to change the UI Culture from the control panel.

Friday, December 09, 2005

.NET Graphics

I saw some enhanced controls created using the “Owner Drawn” feature of Winforms.NET 2.0. So I open the MSDN and start studying System.Drawing form the scratch. I found out that you have to get the Graphics object from the current control to draw graphics in the form and there are 3 methods to do that.

1. Graphic property of the PaintEventArgs, of the Paint event of the control

2. Calling CreateGraphics() method of the control

3. Getting the Graphic object a image using Graphics.FromImage(<class derived from image class>)

To check this I used the onPaint event of the PictureBox control as follows

I saw some enhanced controls created using the “Owner Drawn” feature of Winforms.NET 2.0. So I open the MSDN and start studying System.Drawing form the scratch. I found out that you have to get the Graphics object from the current control to draw graphics in the form and there are 3 methods to do that.

1. Graphic property of the PaintEventArgs, of the Paint event of the control

2. Calling CreateGraphics() method of the control

3. Getting the Graphic object a image using Graphics.FromImage()

To check this I used the onPaint event of the PictureBox control as follows

private void pictureBox1_Paint(object sender, PaintEventArgs e)

{

//Get a graphic object of the picturebox

Graphics graphicsRef = e.Graphics;

//Create a brush

System.Drawing.Brush brush = System.Drawing.Brushes.DarkOrange;

//Draw some text

graphicsRef.DrawString("This is a Sample Text", new Font("Forte", 14), brush, new Point(30, 30));

//Draw a line

graphicsRef.DrawLine(System.Drawing.Pens.BurlyWood, new Point(30, 60), new Point(100, 60));

}

Which generate a output like…













Furhter to add a Liner gradient to the text drawn in the screen I replaced the follwing line

//Create a brush

System.Drawing.Brush brush = System.Drawing.Brushes.DarkOrange;

With the

//Create a linear for the string

System.Drawing.Brush brush = new System.Drawing.Drawing2D.LinearGradientBrush(

new Point(30, 30),

new Point(200, 30),

Color.FromArgb(255, 0, 255, 0), // Opaque Green

Color.FromArgb(255, 0, 0, 255)); // Opaque blue

To generate an output like…





Friday, May 20, 2005

Laptop for $230 ( LKR 23,000)?

What do you think if u can get a laptop for $230 ( LKR 23,000)? Indian company called Encore has developed a laptop and a desktop for that price range. It comes with a Linux version and it is capable enough to do normal day to day work. more >>


more images >>

Monday, May 16, 2005

HACK IIS 6.0 and Win a XBOX.

   If you can hack IIS 6 and prove that it is not secure, here is your chance to show it to the world and same time win a XBOX.

Hack http://www.hackiis6.com/

Sunday, May 15, 2005

"Double meaning"


If you look at things with a dirty mind you will see things differently. Advertising companies has used this to send their messages as "double meaning images". You can some of those image in this web site. Posted by Hello

Wednesday, May 11, 2005

WB Editor 2

This is Just a Test I'm Testing WB Editor 2

Wednesday, May 04, 2005

Yeah! is a going to be a good animated movie when it is released. Meantime
check out their web site

Saturday, April 23, 2005

Roots of Computing

I found this page when I was searching for "why 64-bit computing".
Just read and see the accomplishments of the DEC. Seems they are the people who
started all the things related computing.


http://en.wikipedia.org/wiki/Digital_Equipment_Corporation

Wednesday, April 20, 2005

iPod Killers


Great new phones has been introduced to the market with features of a phone, a camera, and now with the features of a iPod

Abilon

I just download the Abilon and I'm checking it out.