Sunday, February 28, 2010

Language barriers

You know, it's often my opinion that the people who look for coders on sites like Rentacoder, and the people they find, deserve each other. I just found this question:

I am working on a project which is related to addressing book but i m not getting its actual meaning.what is addressing book?

The only tag provided was 'Visual', so goodness knows what language/platform they are using ( experience suggests VB.NET/ASP.NET as the most likely ). The thing is, it's not some guy's fault that English is not his first language. Who pays a developer ( even if it's $5 a day ) to create a project, and then doesn't discuss the needs of the project sufficiently to provide a spec, or even to work out that the developer doesn't even know what the meaning is of the item they were asked to write ?

Thursday, February 25, 2010

If you outsource through a site like Rentacoder

Your project is likely to end up the subject of a forum post on a programming site, such as this:

My project is ERP sales module ,
but i dont get more details about it , if u have how erp screen and database and it's tables then plz send me or send details
on my email

my email is:: iloveallmake@gmail.com

thanks...

Monday, February 22, 2010

I think this speaks for itself

Subject: how can i access symptoms of one disease i want to calculate the percentage of disease from the symptoms in the database when the user enters its symptoms

Question: HI: i am new to u'r site,I am doing doctors decision support software which accept the symptoms of patient then calculate the percentage probability of related diseases then displaying the disease with its percentage when i traying to do the software the obove question is hard to me could u help me if u have any support , help ... on my project?

This is not AS bad ( in that people are not going to die over it )

Subject: meeting Arrangment System webapplication

Question: one Company given me one module Aboout Meeting Arrangment System to develope meeting arrangment system in asp.net using C#. it is one kind of Webapplication plz help me how to develop this kind of lapplication....plz reply as soon as possibe

People are paying for this code....

Wednesday, February 17, 2010

Learning

I have to say, I didn't think I'd post here again. However, I've had a number of conversations recently where I've been told that a person is a 'trainee', which means they are not paid for their work, but they are working on a paid project, and basically given a task and asked to ask people online to do the work for them or tell them how it's done. This is a sample of the sort of question I mean:

my name is aman i am a devleoper /learner of asp.net i am developing a website of US Client in which client wants that my website couldnt open in india so what i have to do for this could please give me some idea and list of ip on behalf of that i can block it and my website dispaly a page with message country not allowed

I find it ironic that an American company pays an Indian 'learner' to develop a site that he then can't browse to. However, the point is, people are outsourcing, and probably have no idea that the people they are paying, are getting unpaid workers to write their code as a learning exercise.

Wednesday, November 4, 2009

Conclusion

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.

Gratitude

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

Hi,

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.

Security

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");
MySchool.Open();
String selectCmd = "select * from signin where vusername='"+Txtuname.Text+"'";
SqlCommand MyCmd = new SqlCommand(selectCmd,MySchool);
SqlDataReader dr;
dr=MyCmd.ExecuteReader();
while(dr.Read())
{
if((String.Equals(dr.GetString(0).Trim(),Txtuname.Text.Trim()))==true)
{
if((String.Equals(dr.GetString(1).Trim(),Txtpassword.Text.Trim()))==true)
{
//test.Text="Inside if";
Response.Redirect("New_Page.aspx");
}
else
{
Lblmsg.Text="Error:Password is wrong.";
}
}
else
{
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.

Hi
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)

THE FUNCTION IS :

Public Sub Login(ByVal ConnectionString As String, ByVal EmployeeCode As String, ByVal EmployeePassword As String)
Dim ds As New DataSet
ds.Clear()
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)
MyConnection.Open()
Dim Command As String = MyCommand.ExecuteNonQuery
**** adapter.Fill(ds, "tblEmployees") ****
Dim dt As DataTable = ds.Tables(0)
If dt.Rows.Count <> 0 Then
frmAdministrator.Show()
Else
MsgBox("You are not Authorized to access")
End If
MyConnection.Close()
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:

Hi!
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);
da.Fill(ds,"a");

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

else
{
Response.Redirect("first.aspx");
}




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

m workin as a web developer in a software company.
i work on asp.net 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



Regards,
Arfan Qadir