Sophos is not immune, either.
Over the last couple of years, several anti-virus vendors have had some bad press related to false positives that deleted significant or important files from systems. My anti-virus vendor of choice, Sophos, has not been one of those mentioned. Until today.
Last night, I received antivirus alerts from several systems that Sophos had found and taken action on several files, most notably QuickBooks files (C:Program FilesIntuitQuickBooks 2009ComponentsPConfigData1.cab, although it was the same thing for versions all the way back to 2006 as well). I had already been in the process of changing the default actions of Sophos to “quarantine” instead of “delete” but had not hit all of my systems with that update yet. I put a quick call into Sophos tech support early this morning (gotta love that 24×7 support when you need it) and found out that their update that was released last night before 9pm CST had a false positive string in it, and the scheduled scans I had set to run at 9pm on these systems used that false positive update and nuked these QB files. Sophos did report that they have already released additional updates that have alleviated the problem, but because of the timing of the updates and the timing of my scheduled scans, several of my clients have QuickBooks data files that I get to go back and restore.
In the grand scheme of things, this isn”t huge (like nuking a Windows system file) but for my accounting and financial services clients,well,it”s a good thing it happened on Thanksgiving morning so it will minimize the impact on their operations. We”ll be able to restore the specific file from backup in most cases, and worst case do a reinstall of the app on a workstation. Much better than having to rebuild a box or reload the OS.
Over the weekend, I”ll be finishing up getting my Sophos configs updated to “quarantine” and not “delete” to help protect against future false positives. Still, just goes to show, it can happen to anyone. Past history of false positives (or lack thereof) shouldn”t be the only deciding factor in choosing an anti-virus solution for your business or your clients.
Recently I got to experience what it’s like to have an article you wrote published on the front page of a magazine. It’s something I’ve never tried before now, and I’m grateful to ASP.NET Pro for publishing it and making it the covery story. This is in the November 2008 edition that features my article (http://www.aspnetpro.com/features/2008/11/asp200811bm_f/asp200811bm_f.asp) and a book review (available here: http://www.aspnetpro.com/bookreviews/9780672329678_b/9780672329678_b.asp).
You need to have a subscription to log into the web version, or find it in the print version if you have it. If you check it out, post a comment on what you think about it (both good and bad are welcome).
The tool Resharper has some nice validation features I wanted to talk about. Like Visual Studio, Resharper monitors your keystrokes, looking for errors as you type. One of the nice features I like about Resharper is its ability to identify errors in code. When it does, it highlights the text red. For instance, suppose you had in a method:
int x1 = 0;
x1 = xParam;
if (x1 > 0)
If, in this method, you changed “x1″ to be “x” in the variable declaration, Resharper parses the method, finding every instance of “x1″ and highlighting it red. Another feature it also provides is comment detetion for method parameters. Suppose you had this:
/// Gets the underlying core value from the control.
/// <param name=”control”>The control to evaluate.</param>
/// <returns>The object stored in the underlying value.</returns>
public abstract object GetValue(Control control);
If you changed “control” to be “controlInstance”, Resharper caches this too and marks it red. Resharper also parses throwing exceptions; the ArgumentException and ArgumentNullException classes define the name of the parameter in error; Resharper parses this to ensure you define a correct value.
Lastly, Resharper parses your config file, ensuring the references you add (such as to the <pages><controls> reference collection) are correct, and will mark it red if not.
Testing SharePoint was always an issue, because SharePoint has number of classes that are sealed and/or does not have public constructors. SharePoint”s API consists heavily of sealed classes and classes with internal constructors. None of existed unit-testing frameworks provided ability to mock such classes.
Guys from TypeMock (http://www.typemock.com) did fantastic work, providing really powerful framework to mock such classes, which were not covered with existed frameworks, like RhinoMock and Moq or NUnit mocks.
And today, they announced Isolator for sharepoint:
It is almost the same as Typemock Isolator, but will only work on APIs that are directly connected with sharepointâ€™s API. That means that if you only need to test sharepoint stuff, you can get a powerful product, for a much cheaper price than the full Isolator (you can always upgrade later if you need to isolate more APIs).
Info for masses, how to get free licence:
Typemock are offering their new product for unit testing SharePoint called Isolator For SharePoint, for a special introduction price. it is the only tool that allows you to unit test SharePoint without a SharePoint server. To learn more click here.
The first 50 bloggers who blog this text in their blog and tell us about it, will get a Full Isolator license,Free. for rules and info click here.
PS: Iâ€™m using this framework in these days and found it really handy. Moreover,guys from TypeMocks are open for communications and framework extensibility if your find something whatâ€™s missed or you wanted to have there.
Iâ€™ve been a proud owner of the book Peopleware: Productive Projects and Teams since 2000. However, only recently have I started publishing reviews on books, so to be fair, I had to reread it again (yes, Iâ€™ve read the book a couple of times and I find it always entertaining and I always end up getting something which I didnâ€™t quite get in my previous read).
The book is really great! Besides giving data that supports why we need offices (not cubicles, dress codes and other stuff which really doesnâ€™t do anything to improve the quality of development!), youâ€™ll also find several interesting ideas on how you can make teams jell.
What I find most interesting about the ideas on the book is that theyâ€™ve been there for some 20 years (or more â€“ the second edition has almost ten years), and I still havenâ€™t found many managers that have read the book (or even have heard about it) or companies that try to apply the principles presented on the book. In fact, when I think about it, itâ€™s really amazing that Iâ€™m able to write code everyday and that we ship some apps from time to timeâ€¦oh well, I digress. Final note: 10/10.