Stealing people's code, and doing a terrible job of it

Published Tue, May 18 2004 21:26 | William

Check out this link http://www.kjmsolutions.com/datasetarray.htm which was posted at KJM Solutions about a year ago.  Now, check out this code posted by “Vinod” claiming to be his.  You'll notice that he didn't even change the frigging comments - just stone cold stole old boy's code.  He changes a cell reference from A2 to A20 which shows that not only is he a thief, but he's a Moron.  Since he didn't change the author's comments, chaning the cell reference to A20 to allow for the 'header row' makes no sense and proves that the guy is a scumbag.   Some people have no shame!  Then, just to add insult to injury, someone else cites the code and credits Vinod.  At least Homer tried to do the right thing, but Vinod is a BUTTMUNCH http://vbcity.com/forums/topic.asp?tid=67309 . And just for the record, I'm using Buttmunch as a synonym for goddamned a-hole.

 

HERE IS A SAMPLE TO CODE TO AUTOMATE EXCEL FROM VB.NET. NEED TO INSTALL THE OFFICEXP INTEROP ASSEMBLIES BEFORE IT WILL WORK AND SET REFERENCE TO THE EXCEL OBJECT LIBRARY. MAIL ME IF U NEED ANY FURTHER INFO.






'Import statements to set reference to Office
Imports Office = Microsoft.Office.Core
Imports Excel = Microsoft.Office.Interop.Excel


'Open excel and populate the cells
Sub CreateSpreadSheetFromDataSet(ByVal mydataset As DataSet)

'test for zero rows OR more than excel limit
If (mydataset.Tables(0).Rows.Count > 0) Then
If (mydataset.Tables(0).Rows.Count > 65536) Then
MsgBox("Query results greater than 65,536 rows")
Exit Sub
End If
Else
MsgBox("Empty Dataset")
Exit Sub
End If


'create new instance of application

Dim Excel As New Excel.Application()

' create(New workbook())
Dim oBook As Excel.Workbook

' create(New worksheet())

Dim WSheet As New Excel.Worksheet()

'Adding new worksheet to excel workbooks

WSheet = Excel.Workbooks.Add.Worksheets.Add()

'Name the worksheet
WSheet.Name = "test"

'we want to see what is happening
Excel.Visible = True

'rows of dataset variable
Dim rows As Integer = mydataset.Tables(0).Rows.Count

'columns of dataset variable
Dim columns As Integer = mydataset.Tables(0).Columns.Count

'used to count rows in loop
Dim r As Integer

'used to count columns in loop
Dim c As Integer

'array to hold data - the size is set by the dataset 'rows' number and 'columns' data
Dim DataArray(rows, columns) As Object

'first we deal with the column in the loop - assigning the element in the dataarray of c. Dont worry about 'r' at this point. We are only 'filling the 'c' of the array
For c = 0 To columns - 1
DataArray(r, c) = mydataset.Tables(0).Columns.Item(c).ColumnName

'next we deal with the row (r of the array) entries for the 'c' column - for that column we just created in the array - that is the part which threw me because I was expecting it to write the whole row. Notice we are still using the same value for c. It has not changed from the first loop.
For r = 0 To rows - 1
DataArray(r, c) = mydataset.Tables(0).Rows(r).Item(c)

'will loop on rows here until all of that columns(c) values are collected
Next

'conclude the activity for that column - moving on until all columns are collected
Next

'now we write the data to the sheet - use A20 as we need to leave room for the header row
WSheet.Range("A20").Resize(rows, columns).Value = DataArray

'we write the header row - we do this cell by cell to a

Comments

# William said on May 19, 2004 6:48 AM:

Some people just have no shame. I mean, did Vinod not think that he would get caught? Did he think that he was the only person to see the original code on www.kjmsolutions.com? and therefore no one would catch him posting the code on the biggest VB site on the 'net? Buttmunch is too nice a word ;) more like buttslam...

BTW Bill, your blog is getting to be like bnb.com....aren't you worried about losing potential jobs if a HR person sees you expressing yourself freely? ;)

# William said on May 19, 2004 6:59 AM:

Wow. I think I have seen blatent plagerism that bad one other time. The individual belonged to a subscription knowlege base for developers. They took the code out of the knowlege base and verbatim posted it on a programming forum as their own code. Same comments, variable names etc. Not one single change. It wasn't VB code though it was C++ so it's not like VB where a lot of times there is only one or two correct ways to do something. He could have chosen to write any number of solutions he just choose to steal instead. WTF is wrong with these people? Who let them into the gene pool and where the f#ck is the life guard so we can get them thrown out? If you like somebodies code post a link to it, or if their server won't handle the traffic well then post the code and a link to where you got it from. I absolutely hate people who think the rules for common decency don't apply when they are on the web. Didn't their mother teach them stealing is wrong?

# William said on May 19, 2004 8:12 AM:

Hey Skicow:

This is about as shameless as I've seen. I don't know why he tried changing that one line of code and nothing else... that doesn't make it any less wrong. And the worst part is that he proved he's a dumbass b/c his change didn't make any sense. It's soo easy to change the code substantially and come up with your own implementation that one really has to wonder what the hell he was thinking. Think about it, he could post scorps code and give scorp credit. Then he looks like an honest dude helping someone out. He could change scorps code and cite it, just like Scorp did. He'd still look like a good guy. But he steals his code, implies its his and then makes a retarded change... if his goal was to look good he only looks like a total a-hole.

Actually, Casey is 50 times the developer I am, so if this is starting to look like his stuff it'd actually help me out ;-). I don't really point anyone over here and if it came up I'd just mention that it's all done in the context of my personal life. If they held it against me then it's probably somewhere I wouldn't want to work b/c I actually try to keep my big mouth under control here. Fortunately I work in a great environment and all is pretty cool.

I like ButtSlam too, good word. I was thinking of DillWeed or one of the other Beavis and Butthead words. Then I started thinking SouthPark style, "What would Cartmen say" But that would invariably get me started and I'd no doubt end up saying someting I regretted. So even though MeToo got offened with ButtMunch, I figured it's neutral enough .

I appreciate the compliment and your feedback. Thanks again,

Bill

# William said on May 19, 2004 8:28 AM:

Hey Andy:

It kills me how some people don't consider this stealing. Some other dude actually got on my case about posting this stuff b/c he thinks I should do it offline. My whole point was to expose Vinod and expose people that do it. If I accidentally did something like he did (which isn't an accident and not something I can ever imagine doing directly, indirectly or any other way), I'd be glad to have the author tell me about it so I could fix it. I'd also want an opportunity to apologize. But being that I make my living by writing code, I can't stomach this stuff. I mean, even if you post your own stuff in a NG, if you got a cool idea from someone, why not give them props? Stuff people posts is viewed by others as what one is capable of doing. So if you can't do it, you're just screwing yourself. And now, Vinod has the fact he's a plagairist and a Stupid one at that, immortalized on a bunch of different servers. The only thing I disagree with you on is that he did change one Line, from "A2" to "A20". This is the icing on the cake b/c the comment (which was Scorpion's) is that he's starting there to leave room for the header row. But no header row takes 19 rows. Even if he wanted to make a claim that he was leaving room for a header, this is pretty obviously BS. There's no Range.Merge(); or anything else other than PURE, OLD SCHOOL THEFT!

And this is the type of dude that probably lies (Just my opinion, I'm not stating this as a fact) on his resume, claims skills he doesn't have and points to his contributions online as testimony to his skills. So some poor company will hire him only to find out they hired a FRAUD. Reminds me of some lyrics from Ether by NAS Vinod's a ".. a fan, a phony, a fake, a pussy, " http://www.musicsonglyrics.com/N/Nas/Nas%20-%20Ether%20lyrics.htm#

Anyway, I was a little pissed when old boy told me to take it offline even though he was nice about it. I think the forum where the crap is posted is EXACTLY where you should post proof of the theft. If other people don't like it, than they should get mad at Vinod, not Scorpion for pointing it out or me for looking out for a friend. Vinod did it, not anyone else. And this stuff is immortalized in the forums so why not take it public so everyone can see who's work it really is. Check this link out if you would and let me know what you think http://vbcity.com/forums/topic.asp?tid=67309

# William said on May 19, 2004 10:56 AM:

Just as kind of a side note to what you are saying someone posted a response to you saying there was no copyright notice etc.

So yeah some really do think it is not stealing.

The man may have a point I am not sure. I have never seen a case where someone copied code and used it and then there were any consequences for it. The only time I have ever seen this come to pass is in the SCO/IBM fight. Fighting over open source is pretty hilarious to me incidentally but oh well........Maybe we need a ethical test you have to pass to get a "programmers license". :)

Nah scratch that.......government involvement never did help anything........

Awesome space you have here bill.......

# William said on May 19, 2004 10:57 AM:

Incidentally that statement was at http://www.wimdows.net/articles/article.aspx?aid=15

sorry about that.

# William said on May 19, 2004 12:22 PM:

I agree with 100% it's stealing and it's wrong. However I also don't believe in arguing in forums. You posted that in the right place. The argument that will probably follow is what I try and avoid. It reminds me of this thing somebody e-mailed me as a funny the other day. Here it is copied from my e-mail ( enjoy :) ):

How Many Form Members....does it take to change a lightbulb?

1 to change the light bulb and to post that the light bulb has been changed
14 to share similar experiences of changing light bulbs and how the light bulb could have been changed differently
7 to caution about the dangers of changing light bulbs
1 to move it to the Lighting section
2 to argue then move it to the Electricals section
7 to point out spelling/grammar errors in posts about changing light bulbs
5 to flame the spell checkers
3 to correct spelling/grammar flames
6 to argue over whether it's "lightbulb" or "light bulb" ... another 6 to condemn those 6 as stupid
2 industry professionals to inform the group that the proper term is "lamp"
15 know-it-alls who claim they were in the industry, and that "light bulb" is perfectly correct
19 to post that this forum is not about light bulbs and to please take this discussion to a lightbulb forum
11 to defend the posting to this forum saying that we all use light bulbs and therefore the posts are relevant to this forum
36 to debate which method of changing light bulbs is superior, where to buy the best light bulbs, what brand of light bulbs work best for this technique and what brands are faulty
7 to post URL's where one can see examples of different light bulbs
4 to post that the URL's were posted incorrectly and then post the corrected URL's
3 to post about links they found from the URL's that are relevant to this group which makes light bulbs relevant to this group
13 to link all posts to date, quote them in their entirety including all headers and signatures, and add "Me too"
5 to post to the group that they will no longer post because they cannot handle the light bulb controversy
4 to say "didn't we go through this already a short time ago?"
13 to say "do a Google search on light bulbs before posting questions about light bulbs"
1 forum lurker to respond to the original post 6 months from now and start it all over again.

# William said on May 19, 2004 12:56 PM:

Ok, I'm sold! This has to be one of the best posts I've ever read, you rock. The guy clarified what he meant and it was mainly that it should be brought to the attention of the admin as opposed to starting something in the NG. I defintiely see the point now.

Thanks again,

Bill

# William said on May 19, 2004 12:57 PM:

Awesome, I am still laughing......

# William said on May 19, 2004 1:03 PM:

.......and then if the admin does not do something about it then the offended party has the right to say something? Or are you thinking it should be just let go?

# William said on May 19, 2004 4:17 PM:

I bet the admin will do something about it. If not, start putting up web pages and flame Vinod off the internet

# William said on May 19, 2004 6:24 PM:

I think I found him but I cannot prove it just yet. See your email. If I am right this guy didn't need to steal. He should have been able to teach me or even possibly you how to do this.

# William said on May 19, 2004 11:00 PM:

I really doubt it's this guy. He has way too much of a pedigree and is much to smart to pull a cheesy change job like that. I could believe it's someone of his skill that maybe forgot to post the credit, but that change to A20 makes it highly doubtful that this was an accident and this guy has too much talent to pull a script kiddie stunt. I'd be shocked if it's him.

# William said on May 20, 2004 12:13 PM:

Bill and scorpion53061,

It seems there's another one of those 'this world sucks so screw everyone' type guys over at http://www.wimdows.net/articles/article.aspx?aid=15

# William said on May 20, 2004 2:07 PM:

Where do they come from? I think one of the dude's that stole scorps stuff was a Wimdows poster too... I guess you can't get away from them.

Search

This Blog

Tags

Community

Archives

News

My other sites

Cool Stuff

Book Stuff

Security

ORM

Data Access

Funny Stuff

Compact Framework Stuff

Web Casts

My KnowledgeBase Articles

My MVP Profile

Design Patterns

Performance

Debugging

Remoting

My Fellow Authors

My Books

LINQ

Misc

Speech

Syndication

Email Notifications