Wednesday, November 4, 2009


So, I started this two days ago. I've not had any trouble finding things to post, in fact, my biggest issue has been holding back. Every day, programming forums are filled with people who want their homework done for them, or who have taken paid work and want the very people who are being put out of a job to do the work for them. Now, I could post four or more times a day ad infinitum, and I'm sure I could find all sorts of examples that raise some new variations on the core questions, but I feel that doing that would soon become mean spirited and perhaps focus more on laughing at how clueless these folks can be, than focusing on my main point. So I'd like instead for this small assortment of examples to stand as a testament to the sort of things that people are asking in programming forums every day, and how they prove that unless you have a good process, outsourcing is going to cost you money and cause your product to be of a low quality. Issues I've not touched include things like maintainability of code, when people talk about delivering 77000 records in a single webpage, that is obviously a usability issue. When people have 50 textboxes on a form, that's a usability issue, but when they are called textbox1, textbox2, etc ( which is what they are called by default, and are called in the majority of examples that get posted for help ), then there's a real issue in terms of potential bugs, and in terms of maintaining this code base. If your outsourced project works at all in the first instance, it will definitely cost you most than it should to get someone else, or even the same people, to extend or improve it, the code is just not written with those things in mind. And don't get me started on people who sprinkle SQL statements randomly through their presentation layer, and the issues this is bound to cause.

Perhaps the biggest question to ask is, does my project involve any level of sensitive data ? If it does, if a login is going to be needed, then outsourcing is definitely scary, because you have no chain of accountability when your data escapes, due to the sort of poor practices I expose below, and which seem to happen every day in the real world.

At the core, I don't blame the people posting the questions. If we, that is the West, go to a country where work is hard to find, and offer a better than average wage with no questions asked, is it any wonder that people take the opportunity ? I do wonder why people, having got these jobs, don't take advantage of online forums as a place to learn ( how often have I tried to instruct someone only to be told 'give me the codez - urgent !!!!' ), but perhaps they perceive the long term hopelessness of their situation and are just milking it as long as they can. As prices in one place are pushed up, another country with a cheap standard of living and a lot of people who can type, waits in the wings. That's the reality of being in a market where all you've got going for you is price.

The other thing I've often been accused of when I try to tell people that they are not ready to write commercial code, is racism. Let me be clear on this. I do have Indian friends who are good programmers, and I've hired Indian people before, but that sounds like a shallow justification. Even if I had not ever met a good Indian programmer, that doesn't mean I've ever suggested they do not exist. As it stands, some of the best programmers I know come from that part of the world. And, why shouldn't they ? The issue is not racial, it's to do with a situation that has been created in a particular country. It could have been anywhere.

I have a good friend who works for Sun. When his job went to India, he got the job of supervising that team. Their outsourcing works. It works because he flies there four times a year, and he got to be there physically to interview them. It works because there's no company in between the person hired and a stream of short term jobs, they are hired by and paid by the one company, and they write code for that company. Under those circumstances, they are able to hire skilled workers and make it a success. In fact, high demand means their main issue is keeping good workers, who are hard to find. On the other hand, I know people who have been forced to try to outsource through sites like eLance and Rentacoder, and their experiences, even when carefully interviewing people, hiring the people who gave the highest quote, etc, were uniformly miserable, for all the reasons I have stated. And that's with a trained programmer watching their work every step of the way. When someone who has no idea about IT decides they need a website and finds a way to pay people overseas to write it, so there's never any face to face meeting to discuss requirements AND there's never any communication where the people on the paying end include someone with any ability to assess the abilities and the quality of work of the people being paid, I can only imagine what a mess that would turn out to be.


Every morning, I get up and find SO many posts I could blog about that I don't know where to start. This guy takes the cake tho.

Add Image in Picture box


I want to add image in picture box with the help of code not wizard.

Please help

Yes, the picture box control DOES have a property you set with an image. This is one line of code, clearly documented in MSDN, in any decent winforms book, etc.

So someone replied:

MSDN would tell that. Read about PictureBox class.

Since the wave of people who insist on full code answers, I tend to try to answer like this ( although this was not me ). I'll try to give people some keywords and perhaps a link, or if the task is more complex, describe exactly what they need to do in words, not code. Not to be difficult, but to help people learn some basic research skills as well as answering their question. How did this guy reply ?

bhai i know u are a very good fool& idiot.
i expect u that type of answer.

This was in a C# forum. This guy then posted in a VB forum:

types of loop

send ans with code

Now, this is a bit of a break in the sense that I suspect this guy is a 'student'. While I usually post about people who are obviously being paid for their code, the fact is that there's also a constant flood of people on programming forums asking for full solutions to their homework and refusing to do any work, and people trying to learn and thinking the world owes them an answer. This guy obviously falls into the latter category. I would not mind his asking very basic questions, I probably would have written a longer reply, explaining where MSDN is, what it is, etc. What I really object to, is how he thinks he should talk to people who are trying to help him, if they don't do all the work for him. The fact is, people who answer in these forums are a bit jaded nowadays by the flood of people who ask questions constantly and yet never seem to actually learn anything, and the people wanting to learn don't show any signs of being grateful for the free help they get.


To quote 'Black Adder', security is not a dirty word. But it IS important. For any project storing sensitive data, it's probably the most important thing of all. I wonder how many non programmers know that even if a hacker can't get into your system, a bad security system can allow them to erase all your data ? Check this out:

Someone asked:

How does one go about creating a login window using C#.

and got this reply:

For that u have to use database connection
I think this code will help u......

SqlConnection MySchool;
MySchool= new SqlConnection("server=(local);database=MySchool;integrated security=sspi");
String selectCmd = "select * from signin where vusername='"+Txtuname.Text+"'";
SqlCommand MyCmd = new SqlCommand(selectCmd,MySchool);
SqlDataReader dr;
//test.Text="Inside if";
Lblmsg.Text="Error:Password is wrong.";
Lblmsg.Text="Error:Username is wrong";


This is not a question, this is someone's answer, it appears to be from a school database system. He is pulling all of the passwords down from the database, where they are apparently not encrypted, and he's going through them. What's worse ( apart from the fact that this means if a student got in to the database, they could read ALL the usernames and passwords ) is that he's just taking free text and using it to build the database query. That means someone who guesses this might be going on, can also guess the return format ( two columns, called username and password, seems good ), and inject some script to create themselves a login, or, they could add a command to simply erase the entire database. Of course, you can build your database so that the user the program runs under doesn't have permission to erase things, but, do you think the guy who wrote this code knows that ?

Just to prove that this happens in VB too.

I am working on login form using VB 2005 and sql 2000 i made 2 text boxes and 2 buttons
on click on ok button it will cal the follwing function

EmployeeCode = txtEmployeeCode.Text
EmployeePassword = txtEmployeePassword.Text
ConnectionString = "Data Source=HAKMEH;Initial Catalog=HMS;Integrated Security=True"
Login(ConnectionString, EmployeeCode, EmployeePassword)


Public Sub Login(ByVal ConnectionString As String, ByVal EmployeeCode As String, ByVal EmployeePassword As String)
Dim ds As New DataSet
Dim MyConnection As New SqlConnection(ConnectionString)
Dim SelectQuery As String = "Select EmployeeCode,EmployeePassword from tblEmployees where EmployeeCode = ('" & txtEmployeeCode.Text & "') and EmployeePassword = ('" &_ txtEmployeePassword.Text & "')"
Dim adapter As New SqlClient.SqlDataAdapter
Dim MyCommand As New SqlCommand(SelectQuery, MyConnection)
Dim Command As String = MyCommand.ExecuteNonQuery
**** adapter.Fill(ds, "tblEmployees") ****
Dim dt As DataTable = ds.Tables(0)
If dt.Rows.Count <> 0 Then
MsgBox("You are not Authorized to access")
End If
End Sub

when it comes to the line with stars it gave me the follwoing message

The SelectCommand property has not been initialized before calling 'Fill'.

so where is the error

Now, I'm sure that sometimes these questions are asked by people attempting this stuff as part of a course, but the examples I give, I checked their history and profile and they certainly appear to be employed as software developers.

This one takes the cake:

I have a little problem. My problem is:

I have two user.
If first user Enter Own LogIn & password. It goes to another page i.e. "first.aspx".
If second user Enter Own LogIn & password. It goes to another page i.e. "second page.aspx.

My login page is common for both user.
I have use this code but it goes only one page. Actually I don't know what can I do. Please solve my problem.

protected void Button1_Click(object sender, EventArgs e)
string name = TextBox1.Text;
string password = TextBox2.Text;
string str = " select * from login where user_name ='"+name+"' and password ='"+password+"'";
SqlDataAdapter da= new SqlDataAdapter(str,con);

if ((ds.Tables[0].Rows.Count) == 0)
Label1.Text = "User Does not Exist";


Here's another example, from someone who's profile says:

m workin as a web developer in a software company.
i work on using csharp.....

And his question:

hiii i m using access db and i have created my own login form.
I want that without login in user cannot go to my admin page.
hw can i do this...
plz guide...

So why does he have a job, if he doesn't even know where to start, and why is he being trusted with writing the security system for this website ?

I could go on forever with examples, this happens all the time. Suffice it to say, the safest way forward for these people in terms of security appears to be the approach this guy is taking:

Hi 2 all

I need a source code of Hospital Management System in VB.NET and with DataBase Desing.

Thanx in advance

Arfan Qadir

Tuesday, November 3, 2009

Impossible requests

The other issue outsourcers often face is that they just agree to anything their clueless client requests, THEN start to insist in online forums that they be given solutions to impossible demands. Like these:

Question How can I send email to 100000 persons?


A website with hundreds of thousands of user-Suppose,

how can I send a mail to website's users duration 1 hour

what's the solution?


Problem in Displaying Huge data

Hi all,

I am trying to display 77000 records from Oracle Database to .NET DataGrid. So it is not displaying and getting Application Server Error.

Using OLEDB i did. Is there any way for solving this problem



Simply, I just want to create a folder browser dialog in

Well, let me explain it. A customer order a list of picture to be printed. I want to use something like folder browser dialog to chose a folder and then search if these picture exist in this folder. Then I'll copy all these picture into a new folder (called Printed_Picture). Picture in Printed_Picture folder will be printed.

<input type="file" /> control is used to choose a file not a folder.


How to create and delete an appointment in outlook using

I am looking for code wherein I can create and delete an appointment from code


Hi All!!

I want to create exe file of Asp.Net C# web project so that i can deploy it on any computer. Please guide me how can i do that?and what will be the requirements to deploy it on other computer having no

Please guide me!!


i m using mozilla fire fox n looking for a full path of posted file from fileUpload control of asp

string filepath= fileUpload1.PostedFile.FileName;
filepath only holds the file name.. no path...............
helpp plzzzzzzzzzz

( as IE gives the full path, people who ask this, invariably have found that their code works fine when the server and client are the same machine, and are writing server side code that needs to access the client side files by path using the file system )


Dialog Box(created using InputBox function) is hidden behind web form, Pls help

I have created a inputbox for user to login when my web page(.aspx) is loaded. This is whats happening when i run the application..
Internet explorer opens up and waits before loading the web form, only to realise that my inputbox is hidden behind, so i have to drag the dialog(internet exporer) away then i can see the input/dialog box.

How do i make it appear in front of the web page.
This is my code:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Dim strPasswd As String
If Not IsPostBack Then
strPasswd = InputBox("Enter the password please:")
End If
End Sub


As you can see, I could go on forever, especially about requests that ignore the server/client seperation in a website. The basic issue is, if someone has no idea what they are doing, they will agree to anything the client asks, and only later find out that what they've agreed to, is not even possible. Yet another reason to deal with professionals, not the cheapest guy who happens to have a web connection.

Devaluing our profession

Check out this guy:

urgent help on book system

hi ppl,
i'm lookin for some web application for library system or book keeping.
my boss wants me to develop such a system for the office. does anyone
of you have such a system or can help me in building such a system.
the reason my boss wants it to be a web application because it'll not
be necessary to install the application on each PC. just a simple
link at the internet browser and the application opens up.
But i don't know a single thing about book keeping book management or
library system. if someone of you has such a system or
have developed such a system please be kind enough to help me.
Thanks in advance.

I replied:

ROTFL - your boss is an idiot. Why would he ask you do to this, if you're not able to do it ? I'd look for another job.

If you know how to program web applications, then you should be able to ask your boss what he wants and write it. If not, then tell him it's not your job to write web applications ( I hope it isn't, if you don't know how ), and that it's cheaper to buy something than to pay your wage while you dither around trying to learn.

and his basic response was

anyways i'm a newbie at web applications that's y askin for help. buthave to do somethin to save my job.

The question is, if managers think they can grab an office junior and tell them their job depends on their writing the accounting system for the company in C#, if this guy succeeds at all, it's because people online write it for him. I feel bad for him, I mean, it's easy to tell someone to leave their job, but life is not that simple. However, if he gets his way, then the boss has learned that he doesn't need to pay developers at all, someone on minimum wage with a web connection can write professional software nowadays, right ? Of course, it could never work out that way, but, that's the attitude that is being fostered. Development is just an office job, unskilled, easily farmed out. And it's not.

Deleting posts/GIVE ME THE CODE

This morning someone asked this:

file uploade component

i have a image component and a file uploade componnet and a command button componen;i want when i select image withe file upload and clic the button the picther load in the image copmponnet.plees help me.

So I replied:

You need to do several things.

1 - the user needs to select an image
2 - the user needs to push the button
3 - the page needs to post back
4 - you need to save the image somewhere
5 - you need to send the page back with the source of the image control being set to where-ever you saved the image.

You can save it in the file system, under the application root ( use Server.MapPath to find the file system equivalent ), or to a database, and then you'd need to write a page which returns the bytes of the image and the correct MIME type, taking the id of an image on the URL, and set the control to that.

His answer was:

i need sorce code a sorce code in the visule stadio c#

While the task seems like something a learner would do to learn, as opposed to unskilled paid work, it appears that it's either paid work or homework, because he doesn't want to know how to do it, or explore my answer, he just wants the code. I answer:

Why do you need it ? What are you trying to do ? Which bit are you stuck on ?

And he responds by deleting all his posts. I guess he'll see if someone on the MSDN forums will just do his work without asking him to show any signs of intelligence or comprehension.

More software thieves

Last night I saw this post:

Inject Dll with the Application

Hello Experts,

I seen a software of redgate which name is smartassembly.

Regarding how can i inject dlls with the exe. This Process is also called Dependency Mearging.

Please give me the ideas.

My reply was as follows:

What do you want to do exactly ? What is it that you want to achieve ? You want to take dlls that your project uses, and make them part of the exe, so they are not seperate files ? You need to decompile your dlls, if you don't have the source already, and add the source to your main project. A tool would do this by decompiling all the source, and then merging it.

When I get up this morning, he had finally replied and a conversation had ensued:

Actually my application have two dlls in which application is dependent. I want to make my application to portable.

So i want to inject those dlls to with my application. i sees a software of redgate (smartassembly). Its works exectly which i want.But i want to use without purchasing any application. This process is called Dependency Mearger in software.

Please give me the technique for doing that.

Someone replied with 'buy it, or do what Christian said'. So, he asks:

Are u IT Professional.


This is just too hard to comprehend

I don't understand why software developers think it's OK to steal software. Of course, we're not really talking about developers, right ? I just saw this in a C++ forum:

hello friends how r u all??
hope enjoying ur life.
plz helpme to findout the cracked or full version of videoocx.
i tried alot to find its crack but i cant......
i tried n find this but its not working .....its fake.....
Name: Cindy J. Leonhardt Key: FE66-A8A7-2EB8-570E
plz helpme out......

Someone said 'you do realise you're asking how to steal something in a public forum', and he replies:

yes i realize but i hav no other option ...i hav to complete my final project and for this i hav to find this.can u help me.......

Four minutes later he replies to himself with:

plz help me ...tell me its corect user name and password

At this point one has to wonder why he thinks that anyone on this forum knows a username/password, let alone would give away something they paid for.

Then he tries to justify his actions:

there r so many things for the reason of cracking this software ....bcoz i hav not muchmoney tobuy this i m a student hope u can understand the whole situation

Now here's the kicker. As his attempts to steal this software via a forum failed, he used the article wizard on the site in question to create an article with the title:

plz help me to find cracked version of video ocx

These articles start with a boilerplate sample that says things like 'put a description of what your article does here'. He's not changed any of that, just the title. You'd think that someone willing to put this much time in could have just worked the same amount of time at McDonalds and paid for the component that way.

Who cares if you know the answer ?

Since Microsoft's MVP award has become common knowledge, many people in the same parts of the world as the outsourcers who fuel this blog, work mighty hard to answer any question they can, in the hopes of getting an award for their resume. This means that any basic question is likely to get 20 answers, all exactly the same. What's worse, is when people plainly have no idea, but give it a shot anyhow. Someone today asked a question, I won't reproduce it here, not least because the post was quite long, and intelligent. However, he had this code:

<input id="Bt_Descarga" class="" visible="TRUE" style="width: 100px" type="button" value="Download" onclick="Download(txtFile.text)" />

which then called this function:

<script type="text/javascript">
function Download(nom_fich)
{"Downloadfile.aspx?ar=" + nom_fich,"Download","width=10,height=10,resizable=yes;top=200,left=150,menubar=no,toolbar=no,status=no,location=no");

His problem is that the query string parameter is always null. The issue is that txtFile.text is server side code, he needs instead to get the client side id, look it up and then look up the control on the client to get it's text. Someone answered as follows:

You should pass it in single qoute."Downloadfile.aspx?ar='" + nom_fich + "'


What ? If I think I know an answer and I'm not sure, I create a project to test my theory. I only have to look at the URL in my browser to confirm that strings in a query string variable are not in quotes ( not that I didn't know that already ).

What makes this worse is, because these people are typically looking to be given code and NOT forced to understand it, sometimes I've found myself as a voice in the wilderness, as I give good advice, and they ignore me and talk to someone with bad advice, who posts some code. The biggest example of this is the CreateGraphics method, which is designed for drawing rubber bands, etc, because what it draws, is erased as soon as a window is obscured in any way. People were using it as their main way of drawing, which is plain wrong, they need to instead handle their paint event. There was a time when I was constantly posting to tell people this was the wrong way to do things, and so often, I would be ignored as they continued to ask questions of the person who was helpfully giving them code that was basically useless, although it appeared to work if you tried it briefly. Which is how I expect that the delivery day of most of these outsourcing projects goes.

Monday, November 2, 2009

txt speak

Posts like this drive me insane:

Okay....then where i can change dat local setting in my browser or can i change it thro code itself??...

if it is possible in code
can you give me d snippet??

i hav seen this format change settings in MS dat possible in also?

Or this

hi guys can ne1 plzz tell me how to create a code for asynchronous messaging using MQ. for send/rescive and Publisher/Subscriber applications. send me the project or code for the same its very very urgent i hv to gv today evening....
thanks in advance

or this

Im gettin an exception saying "InvalidOperationException" nd it says "No data exists for the row/coloumn", for the following code, nd d exception results on the d line that has been underlined....please check d code nd help....plssss!!!!

or this

hi hesicong!! i hv seen ur project FILE TRANSFER FROM PC TO MOBILE PHONE i hv some prob about sdk.plzz tell me what is sdk and i could i get it?plzz give me detail about SDK. thnku

or this

Hallo frendz,
i wnt to make my apllication's exe will anyone tell me how to make executable file?....its urgent pliz ....

which got this reply:

Hey priya just be Happy i m here for u
Just Go the Solution Explorer Then Build Solution .ur .exe will be in the Folder u ve saved in ur project as .exe file exactly in Bin Folder just Find it there by going to Search in the Start up Menu

A phone has 12 odd buttons, and txt speak evolved because of how much work it is to type one character. A computer has 101 keys. Why can't people just type clearly ?

Define 'basic knowledge'

OK, when some-one posts a question like this :

I have to concate two strings by operator "/"

Hello Experts,

I want result in this format->Smart/Kidya.


How to do with VB.Net?

I'm left wondering just what the minimum standard for entry is. The code is obviously Dim Str3 as String = Str1 & "/" & Str2.

This seems like a pretty basic beginner question, and while the guy probably would do better to buy a book, it's wrong to point the finger at someone for being new to programming, right ?

He's posted on this forum over 100 times, his other questions have been things like:

run access query for crystal report

Hello Experts!!

My problem is- "select * from data" i want to show result of this query on to crystal report.......I am using msaccess for a database.


rotate images in picturebox on button click

Hello Experts!!

I have to develop application in which i am able to rotate images on button click(Next and Previous).I am using
Anybody have code or ideas then suggest me......


Error Cannot implicitly convert type 'byte' to 'CrystalDecisions.CrystalReports.Engine.BlobFieldObject'

Hello Experts!!

I got above error when displaying image in crystal report.....
I am assigning root as Blobfield object and assigning to database field.but it gives error.

My code is:

while (dr.Read())
CrystalDecisions.CrystalReports.Engine.BlobFieldObject root;
root = (CrystalDecisions.CrystalReports.Engine.BlobFieldObject)objRpt.ReportDefinition.ReportObjects["Picture2"];
object s = dr["Picture"];
Byte s2 = Convert.ToByte(s);

i dont knw how to bind dr with object.Suggest me method.......

So, if you outsource your project, the guy trying to write your database code stands a chance of not even knowing how to connect two strings together. How did he get this code to work then ? Why, he copied it off the web at random, and then asked people to fix it for him until it looked like it 'sort of' worked.

Sunday, November 1, 2009

Help me !!!

One thing I notice quite often is that people in programming forums today seem to think that 'help me' is a meaningful subject for a post. As if they are the only ones who need help today. This guy takes the cake tho:

Help Help Help Help Help Help Help please help me

Hai everyone i am rohit pokhrel from nepal i am trying to develop a video/audio requesting system in c# in which users can request songs by pressing the key pad in the phone but the main problem i cant trap the key press event. Can anyone please help me.................

He can't work out how to handle a keypress event, and he thinks that's the only problem he has. The same guy, same day, posted the following to an ATL/STL forum:

Respected, all i am trying a web page which needs to display clients computer name and local time in clients computer....when viewing a page stored in another server computer........plz help me

The site in question gives every user a page which lists their personal details and lets anyone post in a forum dedicated to this user. So, a forum that no-one is ever going to look at, unless they know the person and/or want to contact him. In this, hidden away forum, he posted this:

I am looking for a code for web application in which contineously(i.e say 1-5 sec) updates the database table.I tried to use ajax timer control but cant get solution.What should i do to fire my events in every 5 seconds..............plz its urgent

Later, he found the ASP.NET forum:

I am looking for a code for web application in which contineously
( i.e say 1-5 sec ) updates the database table.I tried to use ajax timer control but cant get solution coz it refreshed the page at given interval but not raised a event my airthmetic ie:
int i;
private void timer_tick(........)
////database update codes//////
What should i do to fire my events in every 5 seconds..............plz its urgent

So, he doesn't initialise i with a starting value, he expects the value of i to persist between page postbacks, and in fact, this code has not been tested b/c he's not sure how to get his timer to post back his page. AND in all of this, he abandoned the best solution (AJAX), because he couldn't work out how to use it. That is assuming that the obvious solution ( two lines of javascript ) was in some way unacceptable.

I found other posts where he's asking how to write stuff in VB6. The common thread here is that you have someone who obviously has only the barest understanding of how to write basic code, who appears to be taking any job that comes his way, and then is desperately posting to try to get someone to do the work he's incapable of doing.

To be clear here, I don't blame anyone for being a learner. What I object to, is the fact that he's being paid to do this work that he's incapable of. If the same person posted and was working in one area, with a view to learning it, I'd be the first to help them ( in fact, I generally AM the first, and the one most likely to take the time to work through from a stupid question, to identifying the real issue, to providing a proper solution ). But the people who tend to be doing paid work, tend also to be uninterested in links to resources, discussion of programming techniques, etc. And, at the end of the day, who is to blame ? Is it Rohit Pokhrel ? Not really, the issue is with the people offering to pay him peanuts in Western terms, but presumably more money than he can make locally, to do work he's incapable of, without ever bothering to do anything to see if he's actually able to do the work, or knows anything at all about the subject at hand.

Can I have a degree, please ?

Why is it that people think they can start a Comp Sci course, get online, and post messages like this:

I need caculatore source

I need help for this program i dont know how do this program...

Of course, once they 'graduate', or, more likely, when they get given a job because they know how to turn a computer on, they do the same thing:

read barcode using usb scanner

i am working on a project(c#).. i need a module to read bar code (EAN-13).
plz help me ... it,s urgent...

Every day, I see people posting and basically saying 'I was asked to do this, please give me the code, it's urgent'. And yet, some of these people get told how to do the task, and over the next few weeks will just ask the same question over and over again, without any reference to prior solutions. That's because these are people who cannot program, who cannot understand what programmers are saying when they explain how to do a task, and basically are sitting there sweating a deadline, hoping that some random person on the internet is going to send them a complete solution, so they can get paid.

What's a server ?

The single biggest issue I see in ASP.NET forums is people who code as if their server code, runs on the client. This obviously works when they are testing and the server IS the client. Then they deploy, and the questions start...

I want to restrict user to access my site if his Caps Lock Key is Off, so i need to check caps lock status whether he presses a-z,A-Z,or 0-9 keys in code.
i have tried following code which is working on Local but not on Server

if (Console.CapsLock)
lbl.Text="Caps is on";

Someone explained that the best you could do is handle a keypress and check if a letter is uppercase, but that this doesn't mean caps lock is on.

so this means we can get caps status only if v r using letters(a-z) not digits(0-9) or we are using windows application.

The same point gets made again. You can't do this in a web app. He replies:

i want that user can't logged in if his caps lock is not ON, this is a security feature which is not known to anonymous users and for logging in he has to enter numbers not letters.So hw to validate dis sceneraio????

Someone ELSE replies to say again that this is not possible, and he replies with this:

Thanks for the reply... but i have to search for it as it is my duty to obey my uneducated seniors.....

The other big issue, of course, is that if the programmer is clueless, they will agree to anything a client asks for and then scour the web for solutions. A real programmer would have killed this idea the moment it was suggested, and spoken with authority about the real technical limitations, not muttered something as they worried about how they could get this done.

At least this guy was answering people, most of these folks ask the insane then never reply. Like this guy:

Hi Everybody,

This is vijay.. Im new to .NET..I have a requirement of Capturing a Picture From Webcam and compare that with the SQL Server Database.. If that picture is matched with any one of Database Image I have to Display "It is Existing" else "Not Existing".. Can anybody Help me ? I look forward for your help...

Any Help would be greatly appreciated
Thank you

Hello, I am new to .NET. I want to control a camera through a website ( there's that server/client issue again ) and THEN I want to compare two different images to see if they are of the same thing ( a pretty complex task at the best of times ). Someone asked him what his question was, and he said:

I dont know how to start

Thank you

Well, what do YOU think that means ? I'd like to be a brain surgeon, but I don't know where to start. Pass the scalpel.

Several people tried to get info from him ( I basically tried to get the full story so I could point out the foolishness if his taking a job like this when he plainly has no idea how to do it, or even how complex it is ), but he never replied again.

Saturday, October 31, 2009

Mission statement

I've been a programmer for nearly 10 years now. When I started out, usenet was the place to ask for help. I joined comp.lang.cplusplus, and within days had been beaten down by grizzled old Unix programmers who were horrified when I asked 'how do you create a window ?'. I wanted to learn enough that I learned the rules, and followed them, and those guys helped me a lot, I am completely 'self taught', but that just means I bought books and found people online to answer my questions. So, as I got better, I started answering more and asking less. That seems to me to be the natural order of things.

Over the years, the barriers to entry for programmers have dropped steadily. It used to be that if you didn't have a firm grasp of the basics, you couldn't possibly write all the code needed just to create and show a window. Then MFC made it a bit easier, but your program would soon enough crash if you didn't know how to manage memory, etc. Then .NET arrived.

I love C#, don't get me wrong. However, the problem appears to be that there's so much drag and drop, so many designers that create the most unmaintainable code, but that give people the feeling that they can program. Simultaneously, companies realised that it's much cheaper to hire people in other countries, rather than pay local wages. The converging of these phenomena means that today, when I go into programming forums, most of the questions are being asked by people in a particular continent, and most of them start with 'I am new to .NET' and end with a request for the code to do some task that is either reasonably complex or, quite often, physically impossible. Now, I get called a racist on these forums a lot, so let me make it quite clear - I don't believe that any race of people is innately either able, or not able, to program, or do any other task. I think that the people involved are doing what anyone would do, they are pursuing what appears to be their best option. When demand is so high that anyone who can type a little can be hired as a programmer, of course people are going to respond by accepting the job on offer. If I needed a job, I'd take any job going, too, and I live in Australia, where our standards of social welfare are such that there's no way I could ever worry about having enough food to eat, or a place to live.

Having said that, I've felt for a while that there should exist on the web, a list of examples of the sort of questions that people are asking every day, so that people in the West who are bidding for work can point people to a site and say 'this is what sort of work you will get if you decide to outsource this job.' From the code I've seen posted, as well as my brief experience with trying to outsource some work myself, I am certain that the majority of these projects either don't get delivered, or get delivered in a buggy and unmaintainable fashion. And that's not all. People bidding $50 to write a data driven website on sites like Rentacoder, are pushing down the expectations of the sort of pointy haired managers that none of us want to work for, but we all know make up a good proportion of our potential employers. If things continue the way they are, programming will cease to be regarded as a skilled profession and will get paid as basic office work.

If I have a single message, it's this. Programming is a four year science course. You can't learn it in two weeks. When someone is hired on the basis that they can type, and they hit online forums where people trying to win a Microsoft MVP award give half their lives doing the work for these people for free, everyone loses in the long run, except perhaps Microsoft.