Plagiarizing Forum answers

September 28th, 2010

Today I learned about anew form of plagiarism: forum answers without proper attribution. There is an user on MSDN that cowers under the moniker of Learning_SQL. What the weasel does it trolls the MSDN forums for questions, takes the question verbatim and posts it on StackOverflow, then takes the answers from StackOverflow and posts them back as his own answer on MSDN.

See http://stackoverflow.com/questions/3816683/index-to-speed-up-delete and http://social.msdn.microsoft.com/Forums/en/transactsql/thread/00667b94-1fb5-4238-b169-c596a2ae25ed.

Or http://stackoverflow.com/questions/3816023/sys-dm-fts-parser-permission and http://social.msdn.microsoft.com/Forums/en/transactsql/thread/a3ec4602-e0be-48f5-92ad-2eb25a6befc5.

http://stackoverflow.com/questions/3787986/need-an-idea-for-doing-bulk-compare-and-insert and http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/ed85fb0b-55db-474d-a45c-d715d659b0a8/#6157a812-82f8-473a-a689-d4217e1fbc13

http://stackoverflow.com/questions/3815502/stored-procedure-when-to-use-output-parameter-vs-return-variable/3815545#3815545 and http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/6013bdf2-1452-4495-865a-1bfcc8b361d0/#5f17fd95-16d0-40eb-b587-db35e44bdb69

This is not some accidental one copy of a answer, is a consitent behavior done with the sole purpose of acumulating MSDN reputation. Moral consideration aside, Learning_SQL is actually violating the StackOverflow attribution required content license:

  1. Visually indicate that the content is from Stack Overflow, Meta Stack Overflow, Server Fault, or Super User in some way. It doesn’t have to be obnoxious; a discreet text blurb is fine.
  2. Hyperlink directly to the original question on the source site (e.g., http://stackoverflow.com/questions/12345)
  3. Show the author names for every question and answer
  4. Hyperlink each author name directly back to their user profile page on the source site (e.g., http://stackoverflow.com/users/12345/username)

Incidents of plagiarization occur frequently on blogs, but with such a small comunity as the SQL Server one, where pretty much everybody knows everybody, the perpetrator doesn’t get too far. Brent Ozar (blog|Twitter) covered this subject on several articles:

But I guess imagination has no bounds, and now some new players (or same old ones?) are trying new grounds…

Applewood smoked Bacon milk Chocolate

November 28th, 2009
Mo\'s Bacon Bar

Mo's Bacon Bar

Inspiration is perishable

July 8th, 2009

I am following the 37signals blog ever since I kinda randomly stumbled upon their Getting Real book. If you never heard about them, definitely check out the book, is a very common sense approach to managing product development in the age of Internets. On this post http://www.37signals.com/svn/posts/1798-jasons-talk-at-big-omaha-2009 I was really touched by one remark: Inspiration is perishable. The ideas you have can linger in your head for a long time, but the inspiration for it fades quickly. So don’t postpone it, by the time you get to it you’ll only deliver a pale image of the original idea. Do it when you’re pumped up and thrilled by it.

I reckon I’m a procrastinator deLuxe, but I have to agree. I know the difference between working at 2 am. and not feeling a bit tired when I’m excited about my work on one hand, and the damp feeling of exhaustion that drags you to watch some stupid TV show at 6 pm because I’m bored with the current project on the other hand.

Laptop battery bulged out of its tray

July 7th, 2009

That is how my 17” Mac book Pro battery looks like after today it bulged out of its tray. Seems to be a fairly common problem with this batch.

Birds of a Feather Tweet Together

May 10th, 2009

@rusanu: I am on Twitter now. Yes, I am another victim of the totally connected social dragon. Since we’re on the subject here is my LinkedIn profile: http://www.linkedin.com/in/remusrusanu.

Things I know now: blogging can get you into a email ponzi scheme

March 20th, 2009

I got tagged by Adam Machanic. Although my blog looks like a DBA blog, I am a pure breed developer, so here is what I know now:

You can’t fix what you can’t measure

Successful projects dedicate quite a large amount of resources to instrumentation, profiling and monitoring. Anywhere between 5 and 10% of the used resources should be an acceptable margin to run code that generates logs, reports performance counters, monitors responsiveness, aggregates and consolidates run time data. I cannot stress the importance of properly instrumenting your code to support this. It has been said before that any optimization or troubleshooting should start from measurements, not from guesswork. Your duty is to put those measurements in place, expose information your users can rely on in order to make informed decisions. Don’t cut corners and eat your dog food: use the instrumentation you added to troubleshoot problems, don’t fire up a debugger and start stepping through the sources. If you cannot figure out the cause of a problem from the tracing and logs, your customers won’t be able to do it either. Nor will you be able to troubleshoot on site at a customer deployment.

My favorite instrumentation tools are the Performance Counters. I sprinkle them generously in my code. For my own use I have developed XSLT stylesheets I use to quickly generate new performance counters code for any application I write starting from a simple XML definition file. The Windows infrastructure allows me to collect them over time in predefined performance logs. Being able to fire up Perfmon and show how your application performs in real time always impresses your customers.

If is not tested, it doesn’t work correctly

I am yet to see a piece of code that was bug free from the first iteration. Testing is always required to validate that the development team correctly understood the requirements, that the assumptions made by the code author where actually correct, that the requirements correctly captured the end user needs. Besides this functional testing, the stress testing never ever fails to produce bugs. Corner cases, exception code paths and unexpected error returns are always guaranteed to reveal bugs and defects in your code.

Testing requires a different mind set than the development work. Seldom is a good developer a good tester too. I have witnessed often how embracing a TDD style is confused with actually testing your product. Unfortunately this is not the case. Besides the obvious case of the fox guarding the hen house that is developers writing tests for their own code, the unit tests produced by TDD are not equivalent to the end-to-end use case testing that is required to validate that your product is actually working and doing what is expected to do.

Your intuition is often wrong

Your mind is incredibly powerful at analyzing things that happen at everyday pace. But your intuition is most of the times wrong when it comes to things that happen really fast or on a really large scale. There is no chance for that record to change while you released the lock on it? It will change under stress. Your application works perfectly on your dual core laptop? Try it on a 64 way machine and you’ll see that lock convoys are not a legend, they do happen.

Writing high scale and high performance programs is a league of its own. Most techniques you learn prior to attempting something really big don’t work. Everything is different: memory allocation, thread management, how you do your I/O. Fortunately there are some excellent articles covering these topics and my favorite ones are the ones from Rick Vicik.

Who’s am I tagging? I’m only gonna choose one person, thus in violation of this game rules, but he is a very special person and if I can get him back into the blogosphere, is well worth it: Slava

OT: www.instrainatate.ro

January 7th, 2009

Sorry for the off-topic post, this is for my Romanian friends who are reading this blog.

Un site destinat comunitatilor romanesti din strainatate: www.instrainatate.ro. Acesta contine anunturi de interes pentru regiunile cu o activitate semnificativa a comunitatii romanesti, posibilitatea de a cauta si stabili legaturi cu conationali aflati in apropiere, informatii utile si posibilitatea de a creea pagini de profil personal.

Disclaimer: Personal nu sint afiliat cu www.instrainatate.ro dar il cunosc pe autor inca din scoala primara.

The Broker Wordle

December 4th, 2008

wordle.net has come up with an applet that creates beautiful word clouds from a blog feed. Eager to try it I used my own blog as a source and this is the resulting image:

Data Mining Event

December 3rd, 2007

I will attend tomorrow, December 4, the Data Mining and Business Intelligence for Enterprises event in Bucharest thanks to an invitation from my friend the SQL Server MVP Cristian Lefter. Now I know that most readers of this blog will not be in Romania :) but I thought to post this case you happen to be there and want to have a Service Broker chat or just want to meet me and say Hi!