Developer Central http://MCPmag.com/mcsdcentral/ March 5, 2003 - Vol. 2 #10 ================================================================= THIS ISSUE SPONSORED BY: - Pixel Translations, Creators of ISIS http://info.101com.com/default.asp?id=503 - Subscribe To MCP Magazine News http://info.101com.com/default.asp?id=563 ================================================================= In this issue : 1) Editorial Chatter 2) Weblinks 3) Improving Software Development: Two Heads Are Better Than One? 4) Briefing: AppScan 5) Review: NewsGator 6) Review: AutoCAD 2004 7) Review: ORM.NET 8) Review: ANTS Profiler 9) Review: WSDL Editor 10) Review: Visual UML 10) New and Notable 11) Web Resources for Developers 12) Reader Mail *********************************************************************** Sponsor: Get a FREE Demo of PixTools/EZ Developer Toolkit There is a faster, more reliable, more affordable way to add imaging to your application: PixTools/EZ, from the creators of the ISIS scanning specification. Check it out for yourself for FREE. Take a demo on us by clicking here: http://info.101com.com/default.asp?id=503. High-powered, ISIS-enabled imaging has never been this easy. http://info.101com.com/default.asp?id=503 --------------------------------------------------------------------- Editorial Chatter A couple of things on the Web have been prompting me to think about the globalization of the software industry lately. First, there's a report from IDC (http://www.idc.com/getdoc.jhtml?containerId=pr2003_02_07_085309). They predict much stronger growth in the number of developers in China and India than in the USA over the next five years. As a result, by 2005 the Asia/Pacific region will pass North America in terms of the total number of professional software developers. Meanwhile, the folks over at WashTech News are writing about "The Great Tech Job Exodus" (http://www.washtech.org/wt/news/industry/display.php?ID_Content=441). Using a leaked PowerPoint presentation from Microsoft Senior VP Brian Valentine as a springboard, WashTech warns darkly of the loss of US jobs and a decline in wages for US IT workers. WashTech's answer is to organize (ie, unionize) and pressure employers to stop outsourcing jobs overseas. Before I go any further, let me make it perfectly clear that I understand what it's like to be unemployed in the US IT industry. I had one of those classic cushy dot-com jobs in late 2000, complete with stock options, nifty hardware, and telecommuting. That company went under, and my income in 2001 wasn't even half of what it had been in the previous couple of years. I utterly sympathize with those who are having trouble making ends meet, whether because their projects went to India or for any other reason. That said, I'm really not too impressed by WashTech's rhetoric. Yes, Brian Valentine did suggest that some projects could be outsourced to India. But he didn't propose firing people, and indeed Microsoft is still hiring in Washington State. Further, just because one Senior VP talked about India doesn't mean there's a company-wide policy of moving work offshore. Microsoft is so balkanized that it has very few company-wide policies. My main problem with opposing outsourcing is the unstated notion that a job in Seattle is somehow superior to a job in Bangalore -- or that the worker in Seattle is more deserving of a job than the worker in Bangalore. Sure, I've know incompetent developers from projects outsourced overseas. On the other hand, I also know some fabulously competent developers from India, and I know developers in the USA who can't tell the difference between metadata and data or who don't understand why SQL injection can be a problem. Competence at writing code isn't a national trait. We've spent decades now building an Internet the wraps the globe and makes telecommuting, whether from around the block or across the ocean, technically feasible. Now one of the results is that we, as developers, are competing in a global marketplace, like it or not. Personally, I'd rather hold on to my work by demonstrating expertise (and isn't that what certification is all about?), rather than by legal action. Perhaps that makes me a reactionary or a tool of the power structure, but it sure feels like pride of craftsmanship to me. On a lighter note, check out Xteq X-Shooter 1.0. It's a tool for releasing some of your pent-up aggression against your computer. http://www.xteq.com/products/xsht/index.html *********************************************************************** Sponsor: Subscribe To MCP Magazine News Developed especially for professionals who want to keep informed of industry trends, timely certification news, career advice, and chats with IT and certification training experts. Sign up today. http://info.101com.com/default.asp?id=563 --------------------------------------------------------------------- Beware, as always, of long URLs below. They may well wrap to the next line. You might want to take a look at Chris Sells' UrlRun (http://www.sellsbrothers.com/tools) which can help with this problem. --------------------------------------------------------------------- Weblinks: Fresh Developer Content on 101's websites - Hands-on SQL http://www.mcpmag.com/reviews/books/article.asp?EditorialsID=134 - Scripting for MCSEs: Isn't it Ironic? http://www.mcpmag.com/columns/article.asp?EditorialsID=522 - CertCities.com's Guide to Developer Certs http://www.certcities.com/editorial/features/story.asp?EditorialsID=60 - Toolmakers embrace XML http://www.adtmag.com/article.asp?id=7382 - Principles of SOA http://www.adtmag.com/article.asp?id=7380 - Microsoft Brings Virtualization in House http://www.entmag.com/news/article.asp?EditorialsID=5706 - VMWare Scales Up http://www.entmag.com/news/article.asp?EditorialsID=5703 - Special Report: Trustworthy Computing http://www.entmag.com/reports/article.asp?EditorialsID=41 --------------------------------------------------------------------- Improving Software Development: Two Heads Are Better Than One? Two Strings to his Bow (He has).: He is provided against contingencies; if one business of adventure should fail, he has another in reserve; two sweet-hearts, two devices, etc. - Brewer's Dictionary of Phrase and Fable (1898) Whether you've decided to adapt Extreme Programming or not, some XP practices are worth investigating. One of these is Pair Programming, the practice of having two developers work on code simultaneously. Laurie Williams and Robert Kessler have studied Pair Programming extensively, and report their results in Pair Programming Illuminated (Addison-Wesley, 2002). What can you learn from this book? One Size Fits All? Advocates of XP tend to believe in absolutes, or at least to make absolute pronouncements. Kent Beck's original book on XP makes the simple pronouncement: All production code is written with two people looking at one machine, with one keyboard and one mouse. That's it. All code. No exceptions. Beck goes on to say that someone who simply refuses to pair is not suited to XP, and should find work with a project using some other methodology. Of course, if you poke around outside the XP literature, you'll find other people willing to challenge this attitude. One of the bluntest challenges comes from the pseudonymous Rich Camden (http://www.softwarereality.com/lifecycle/xp/xp_trenches.jsp): This is the worst of the XP tenets. To recommend pair programming across the board for all developers involved in XP is to not understand the people/personality side of programming. Yes, there are those who will benefit from having another programmer constantly sitting over their shoulder assisting and reviewing their work. But, there are many more who will feel uncomfortable and restrained with another programmer watching everything they do. Unfortunately, this tenet above all others tends to dampen creativity and heroics in XP. Many of the best programming gems come after absorbing oneself in a problem, and much deep thinking. This does not occur when you have another programmer looking over your shoulder. My own take? Pair programming is not for everyone, but many of those who think it's not for them simply haven't tried it (this doesn't apply to Mr. Camden, whose critique of XP is worth reading in its entirety). Programmers tend to have healthy egos (how could it be otherwise, when we create value from thin air by the sweat of our brows?) and it's hard for us to admit that we could use a little help in our chosen profession. If you think you're not suited for pair programming, or that it won't work on your project, my advice is to try it. These days, living out on the farm in the middle of nowhere, I don't get a lot of chances to pair. But many of my most productive development days in the past have been spent pair programming (and the bulk of those before XP hit the scene; this is not all that new an idea). Done properly, pair programming becomes an exercise in division of labor. The active partner can concentrate on code syntax and the micro-level issues of "what comes next?" The navigator can concentrate on strategic thinking, instant code reviews, and thinking about alternatives. It really does work. At least, it has for me. I've come in as the hot-shot programmer who's going to save the day on more than one project, but I've yet to find another developer who couldn't teach me something when we worked together. The Economic Argument Williams and Kessler start their book by discussing some of the pros and cons of pair programming. Perhaps not surprisingly, they find mostly pros. They also devote a chapter to overcoming management resistance to pair programming. Although it's counterintuitive, they marshal a reasonable number of studies to suggest that developing code with pair programming takes the same number of man-hours as it does without, or perhaps a bit more. More importantly, the pair-programmed code tends to be shorter, and to have fewer defects, than more traditionally developed code. The authors make the economic argument that it's worth investing the estimated 15% more time up front, because it's more than made up for by decreased maintenance costs later in the software lifecycle. Is this a reasonable argument? Perhaps. Software development is one of those fields where you can by now find studies to prove (or at least suggest) nearly anything. Certainly there are cases where pair programming saved time and money. One has to wonder just how general the results are - the studies I've seen tend to be as anecdotal as scientific, the numbers they're putting out are hard to measure, and the sample sizes are small. My own feeling is that pair programming is economically beneficial some of the time, and that we don't quite know enough to define that time yet. But there are certainly other reasons to consider this strategy for software development. Among the reasons the authors enumerate: - Pair programming diffuses knowledge among the group, increasing the critical "truck number" (the number of developers who would have to be hit by a truck to incapacitate the project). - Employees tend to be happier, which keeps them on the job longer (and some managers even see happy employees as a goal in itself). - Training costs are reduced when new employees are paired with experienced ones. - Communication between team members is increased, which leads to fewer code defects caused by conflicting assumptions. One caveat to the economic argument, though: there's some evidence that paired programmers work more efficiently because they're actually working. That is, while an individual developer might make time to check e-mail, surf the web, pay bills at his desk, and munch on fudge while strumming a banjo (this is generally called "planning the next module"), most of us are reluctant to do these things when we're working with another developer at the same desk. There might be some long-term quality of life consequences as a result. Tricks of the Trade A large chunk of the book is devoted to looking at some of the practical issues of pair programming, and how to use the technique effectively in various circumstances. These include such scenarios as: - An expert paired with a novice - An introvert paired with an extrovert - A partner who refuses to let the other member of the pair drive - Gender and culture conflicts - Issues of too little or too much ego Some of this part of the book takes on an almost Pollyannaish tone, as the authors are able to squeeze good things out of almost any situation, or at least find a way around it. Take the "professional driver" who won't give up the keyboard. At their most positive, Williams and Kessler suggest that such a person might benefit from watching an effective pair at work, and pick up the good habits that pair demonstrates (trading typing duties is one of the core notions of pair programming). But they also pass along a variety of other suggestions that the ignored navigator can follow to take control of the keyboard, including bringing lots of coffee to the driver and then grabbing the machine during the inevitable bathroom break. Treat this section of the book as source material for brainstorming, and you'll probably find that it serves you well, both in identifying potential trouble patterns and in pointing the way to solutions. Also useful to many people will be the pair programming tutorial appendix, which contains a series of exercises designed to introduce teams to the look and feel of pair programming This three-hour workshop has lots of ideas to get you and your team started. Buy It? That's really two questions, not one: should you buy into pair programming? And should you buy this book to help you? I'll tackle them in reverse. At $35 for under 300 pages, this might seem like a fairly pricey book. But think about the costs of developer time. If you end up saving half an hour of your own time, or five minutes of a five-person team's time, then it's already paid for itself. If you're even remotely considering pair programming, I'd go ahead and buy this one (and, if you don't already have it, Kent Beck's Extreme Programming Explained) and set aside the time to read it. You'll probably pick up enough tips to make it worth the money. Or you may decide that the descriptions here don't sound at all like your team, and you don't even want to try pair programming - which would be another good use of the money. But should you try pair programming? I believe the answer to that question is a qualified "yes". If you can get support from management, then it's definitely worth experimenting with pair programming to find out whether it's a good fit for your team and your project. Support in this case may mean a temporary relaxation of reporting requirements, or permission to move computers out of the cubicles and into the lounge, or a bit of budget for a training session. Or it may mean that they look the other way while you carry out a classic "skunk works" exercise of working behind management's back. All I know is that as a developer, I personally like working this way. And as a development manager, I like the benefits of happier, more productive employees. Sounds like a win to me. Have you ever tried pair programming? Was it the greatest thing since sliced bread, or did you flee back to your own cubicle? Write and let me know. I'll use the most interesting comments in a future issue of Developer Central. --------------------------------------------------------------------- Briefing: AppScan AppScan Developer Edition 1.5 for Visual Studio .NET, $1499 Sanctum Santa Clara, California (408) 352-2000 http://www.sanctuminc.com/ There were quite a few products that work within the VS .NET shell announced at the recent VSLive conference. One of these, AppScan DE, offers support for developers concerned with security in ASP.NET applications. I had a chance to see a pre-release build in action and chat a bit with the Sanctum folks about what the product can do and where it's heading. The idea of AppScan DE is to help the average developer become more security conscious, and help them fix potential security holes before they're exposed. While some people can keep up with all the different ways that their Internet applications can be compromised, from SQL injection attacks to cross-site scripting, these are dark arts to many other developers. AppScan DE has built-in knowledge of hundreds of attacks, and can scan your code to find vulnerabilities. To use AppScan DE, you create a new AppScan Project in your ASP.NET solution. Then it goes off and analyzes the code, testing it for vulnerabilities. If any are found, you get a list of what's wrong, together with jumps to the affected code, explanations of the problem, and extensive remediation suggestions. Tests are kept in the project tree, so at any point you can go back and see where things were historically. There's also an ability to record and playback business processes, so you can focus on particular parts of your application. One nice touch is an automatic interface to form fields, so that it can fill in plausible data as it rolls through your application. Of course you can customize the plausible data to your own needs, so even supplying a legitimate test user and password is quite easy. All in all, this looks like a good alternative to having a security expert do constant code reviews (though I'd still want to get the expert involved somewhere along the line), and will help push security knowledge out into the wider developer community. Sanctum is also planning to release an auditing/QA tool at mid year that will extend some of this intelligence to auditing Web Services. AppScan DE will be generally available March 17, with a $1499 retail price and a roughly $1000 per seat promotional price. --------------------------------------------------------------------- Review: NewsGator NewsGator 1.0, $29 Reinacker & Associates Highland Ranch, Colorado http://www.newsgator.com I've mentioned NewsGator before, but now that 1.0 is officially released, it's time for a review. NewsGator is an RSS aggregator that integrates into Microsoft Outlook 2000 or 2002. RSS is an acronym that's had various meanings, but I like "Rich Site Syndication" myself. What RSS provides is a simple XML file format that can encompass headlines, news, and other frequently-updated information. For example, point your browser at http://www.thundermain.com/rss/ and you can see the RSS format displaying the most recent files available from the Microsoft Download Center. There are thousands of RSS feeds out there (including my own, which you can get to from the standard orange XML buttons on the front page of http://www.larkware.com). They cover everything from major news sites to tiny weblogs. Entire sites such as http://www.syndic8.com/ exist just to catalog this avalanche of information. What NewsGator does is give you a tool to help manage RSS feeds in an Outlook environment. After you tell it which feeds you're interested in, it polls them at regular intervals (once an hour is about right for most). Then, any new items show up in a folder in Outlook. You can aggregate everything into one folder, do a separate folder for each feed, or anything in between. There's also an HTML page that gets generated in the main NewsGator folder with links to all the recent content you've grabbed. Other nice little touches include the ability to right-click on a feed in IE and add it to NewsGator's list and newsfeed searching directly from within Outlook. And of course you can use any of Outlook's native tools for organizing the news when it arrives. There are lots of free RSS aggregators out there. I thought enough of NewsGator after beta testing it to pay for it almost immediately upon release. You can download a 14-day trial from the NewsGator Web site if you'd like to see for yourself. --------------------------------------------------------------------- Review: AutoCAD 2004 AutoCAD 2004 Autodesk San Rafael, California (415) 507-5000 http://usa.autodesk.com Autodesk is on the verge of releasing a new version of their flagship drafting and drawing program. I've had the chance to use the new version quite extensively during the beta process. With so many versions in the past, one might think that they'd be running out of innovations, but I'm happy to say that's not the case. On the user interface side, the biggest change is the new tool palette feature which allows you to keep easy floating access to things like hatches and blocks. This ends up being a much easier way to insert blocks than going through the existing modal dialogs. AutoCAD makes good use of transparency and auto-hide sizing to keep this information handy while not using up precious screen real estate on it. Properties, too, have been moved into a modeless palette. Also new on the UI side is a WYSIWYG editor for MTEXT objects which makes it much easier to get them formatted the way you want. Even in the beta, performance to me seemed notably faster than AutoCAD 2002. Opening and saving files in particular appears to be much improved. I expect this is the result of changes to the DWG format which have resulted in much smaller files for most drawings. Those doing 3D modeling or presentation drawings will appreciate the support for both True (24-bit) color and Pantone colors in all the color dialogs. There's a new Communication Center which can be used to trickle in product updates, news, and announcements of new subscription content. You don't have to be on the Internet to use AutoCAD 2004, but the Communication Center could make you seriously consider keeping your box hooked up to the net on a regular basis. Of course the Buzzsaw online integration is still there, now displayed as a standard drive letter. And, yes, the existing drafting core still works as well as ever. I'm no AutoCAD wizard, but I've used the program through quite a few incarnations now and it's nice to see that all of my old skills are still moving seamlessly forward. There are a few tool improvements, of course - notably a much more flexible undo/redo facility. Overall, this is a good upgrade from AutoCAD 2002, and I'd rate it a must-have if you're on an earlier version. Nothing hugely flashy, but Autodesk appears to be continuing their tradition of high-quality releases at regular intervals. --------------------------------------------------------------------- Review: ORM.NET ORM.NET 1.2, $695 Olero Software Boulder, Colorado 303.385.4908 http://www.olero.com/ ORM.NET is an object-relational mapping product for Visual Studio .NET users. Rather than starting with an abstract object model (as does, for example, Visio Enterprise Architect with its ORM capabilities), ORM.NET assumes that you've already built the relational database you need to hold your business information. It then uses that database to build an entire data access layer for your application in C#. ORM.NET is trivially easy to use. Connect to your database, click the "Generate Data Layer" button, and compile the results. Then you can start writing code like this: DataManager dm = new DataManager(Config.Dsn); Customers c = dm.NewCustomers("DC Company", "DCCOM"); c.City = "Endicott"; c.Region = "Washington"; dm.CommitAll(); ORM.NET builds the complete set of objects you'll need, and insulates you from the physical database. In addition to wrapping up all your tables, it lets you easily call stored procedures with just a thin wrapper. Tables can be designated as read-only lookup tables, and you can do quite a bit of customization before embarking on the data layer generation process. There are a lot of code-generation products for VS .NET these days. ORM.NET is certainly one of the easiest to use, and for placing a data access layer on top of a relational database it seems to work quite well. You can download a 14-day trial from the company's Web site to try it yourself. --------------------------------------------------------------------- Review: ANTS Profiler ANTS Profiler 1.1, $195 Red-Gate Software Cambridge, UK +44 870 160 0037 http://www.red-gate.com This is a lovely little tool for the .NET Developer who wants to optimize their code. It's a very simple tool, too. Pick an application. Execute it from ANTS Profiler. Look at the results. Drill down through function-level timings and hit counts to individual lines of code. The end result is that is very easy to see exactly where your code is spending most of its time. Both profiles and individual test runs can be saved for later re-execution or analysis. You can use ANTS Profiler with just about any sort of .NET application: Windows forms applications, ASP.NET, Web Services, even COM+ applications. Although profiling does introduce some overhead, it wasn't at all intrusive on the applications that I tried. And certainly when you need to know what's going on at this level of detail a bit of overhead is acceptable. The user interface is very well done too. When you get down to inspecting the actual code, it's color-coded just as it would be in Visual Studio .NET. Timings and hit counts are shown to the left of the code, and little bar graphs show you where the bottlenecks are. All in all, another excellent tool from the folks at Red Gate. --------------------------------------------------------------------- Review: WSDL Editor WSDL Editor 4.0 Cape Clear Software Inc. San Mateo, California (888) 227-3439 http://www.capescience.com/downloads/wsdleditor/ CapeClear has released a new version of their excellent freeware WSDL editor. If you prefer to work with Web Services by defining the interface first and then implementing the code, a tool like this is essential. Why would you want to do such a thing? Well, the WSDL is the public face of your Web Service - it's the only part that other developers ever see. Your implementation details are locked in a black box (unless you choose to share your code). So it only makes sense to make sure that the WSDL accurately describes your intended interfaces. The editor provides a treeview showing the structure of the file that you're working with (which can be created from scratch or opened from a disk or a URL). The right pane changes as you move through the tree, offering dedicated editors or raw XML depending on which piece you're looking at. For example, if you're working with a binding, there are spaces to fill in the binding name and documentation, select the port type, and so on. New features include support for validation and schemas, wizards for common operations, and full support for WSDL 1.1 and WSDL documentation. Even if you don't care to use a tool that depends on having the Java runtime environment installed, you may want to snag this one just to read the excellent tutorial material about WSDL in their user guide. And if you like it, bear in mind that the WSDL Editor was extracted from the full Cape Clear Web Services development environment. --------------------------------------------------------------------- Review: Visual UML Visual UML Developer Edition 3.0, $795 Visual Object Modelers, Inc. Boulder, Colorado (303) 448-8835 http://www.visualobject.com As I mentioned last time, there are quite a few UML environments out there these days. Here's another one, which comes in quite a few flavors. This version is in the middle of their product lineup; if you spend a bit more you can get VBA as a scripting language for the application, if you spend less you can get the Standard Edition with some features trimmed. Visual UML offers a drag and drop drawing environment that can handle any of the standard UML 1.3 or 1.4 diagrams, including Class, Object, Use Case, Deployment, Sequence, and many others. The diagrams can be built up into nested hierarchies and organized in a treeview that's part of the IDE. Everything has a property sheet with options galore; indeed, Visual UML will probably be overwhelming to the UML beginner. Visual UML has good support for interacting with other applications as well. You can import and export in a variety of standard formats including XMI. You can also generate code in a bunch of different languages: C++, VB.NET, VB 6, Java, C#, and more. There's reverse engineering from applications and databases, as well as some integration with Visual Studio .NET (an add-in controls interactions between VS .NET and Visual UML, but the editor runs in a separate window rather than in the VS .NET shell). Visual UML's documentation is quite extensive, and includes such nice touches as documentation of the way that the code generation and reverse engineering facilities map code to UML and vice versa. There's not a lot of tutorial material, though you will find a bit on their Web site. I wouldn't choose this as a first UML application for most people, but when you're ready to get serious about incorporating UML in your process, it should definitely be one of the products evaluated. You can download a full-featured trial version from their Web site. --------------------------------------------------------------------- New and Notable Plenty of new software gets released every month, some to great fanfare (can you say "Tablet PC"?) and some that only gets noticed by adoring fans. You don't need me to tell you about the big PR-fests, but here are a few of the other interesting new (or updated) products I've run across in the past few weeks: - 4TOPS has released 4TOPS Query Tree. This is an add-in for Access 97 and up to construct a dependency graph for queries and tables. Microsoft is shipping dependency information as part of Access 2003, but something like this can still be very handy in previous versions. http://www.4tops.com/query_tree.htm - AdminLog is a general-purpose bug-tracking and project management utility built on top of SQL Server. Freeware, with a shareware upgrade. Looks interesting. http://www.chouglesoft.com/index_al.htm - Alpha Software have built Alpha Five Accounting on top of their own Alpha Five database. This $200 package includes GL, AP, AR, PO, Invoicing, and Inventory functionality. http://www.alphasoftware.com/shop/itemdesc.asp?PRODID=59 - FileUpEE is designed to handle HTTP file uploads in challenging situations: huge files, firewall support, Web farm support, via SOAP. You can learn more from the SoftArtisans site at http://fileup.softartisans.com/default.aspx?PageID=130 . - InstallShield Developer 8 has been patched to support Visual Studio .NET 2003. You can install the patch directly from the product's Knowledge Base. http://www.installshield.com - Iron Speed Designer is a high-end code generator for ASP.NET applications. It starts with your SQL Server database and builds it out to a complete set of ASP.NET pages, including custom controls, consistent themes, and their own markup language for customization. You can register for an evaluation copy at http://www.ironspeed.com/home.asp# . - KickStarter.NET is a RAD tool for use with .NET applications. Starting with a SQL Server database, it generates stored procedures, business objects, a data access layer, and templated forms. You can download a sample application generated with KickStarter, or buy the product at http://www.kickstarter.net/ - Kubi Software is integrating synchronized collabaration software directly into Outlook and Notes e-mail clients, to produce what they're calling "ubiquitous collaboration". This takes some of the ideas behind Groove or SharePoint, and ties them much more tightly to your e-mail environment. The client software is in beta testing now; sign up or see a demo at http://www.kubisoftware.com/default.aspx . - NetIQ has released an upgrade to their SQL Management Suite product of utilities for database administrators. Improvements include more finely-grained statistics, richer user interface, and a way for teams to collaborate by sharing to-do lists. http://www.netiq.com - NetworkSmart Developer from LeadByte offers performance analysis from within Visual Studio .NET. Looks to be primarily aimed at network applications, and lets you drill down into individual database issues or data crossing the network. http://www.leadbyte.com/products/nsdeveloper/ - NMath Core is a set of high-performance vector, matrix, and complex number classes for the .NET Framework. You can download a free Early Access Evaluation version. http://www.centerspace.net/products.php - Heaventools has released version 1.91 of PE Explorer, their tool for digging around in portable executable files. It includes a resource editor, a disassembler, a way to insert Windows XP manifests, specialized editors, and much smarts about the internals of Windows executables. Free 30-day trial at http://www.heaventools.com/ . - VMWare Workstation 4.0 is in public beta. New features include support for Windows Server 2003 and Red Hat Linux 8.0, EMM386 support for those old DOS games, a VESA video BIOS, CD burning support, DirectDraw support, a tabbed UI, and networking improvements. Get on the beta at http://www.vmware.com/support/ws4/doc/ . - WinFormToWeb, from ArtinSoft, offers automatic conversion of .NET Windows forms applications to ASP.NET applications. They've got some pretty nifty demos available for download. http://webmx.artinsoft.net/iproducts/winformstoweb/index.html - Wise for Visual Studio .NET 4.21 is out. This new version of the fully-integrated .NET setup builder now supports Visual Studio .NET 2003, and is a free upgrade for existing customers. Details at http://www.wise.com/press.asp?PressID=42 --------------------------------------------------------------------- Web Resources for Developers - Automation Technologies Inc. makes a series of SDKs that are designed to quickly hook up your custom data source as an ODBC data source, and OLE DB data source, or via a .NET provider. More details and evaluation info at http://www.atinet.com/index.asp . - Microsoft has a Remote Control Add-On for Active Directory Users & Computers. Install this, and you can right-click a computer in your AD MMC snap-in and go directly to a Terminal Services (or WinXP desktop) session on that machine. http://www.microsoft.com/downloads/details.aspx?familyid=0a91d2e7-7594-4abb-8239-7a7eca6a6cb1&displaylang=en - Jasc Software's excellent Paint Shop Pro is in public beta again. You can download it for a test drive from http://www.jasc.com/pbeta/psp/product.asp - The SQL Server Critical Update Wizard is the latest rev of Microsoft's anti-Slammer tools. I beta-tested this one and it worked fine here. http://microsoft.com/downloads/details.aspx?FamilyId=689832DB-297B-489F-9E87-8FD78AEEE64F&displaylang=en - Task Manager Extension is just what it says - an extension to the Task Manager functionality built into Windows. There are a bunch of features tucked in here: process icons, "greyed out" color for services (this is a toggle), the ability to retrieve lists of files, modules, handles, or windows for a process, color-coding for heavy CPU use, and the ability to search for which process has a particular file or module open. Seems to be pretty solid, at least on Win2K. http://www.codeguru.com/system/TaskManagerEx.html - TinyApps.org is a repository of small free utilities. http://tinyapps.org/ --------------------------------------------------------------------- Reader Mail Uriah Blatherwick writes: "In Dev Central Vol. 2 #9 you said 'The definition of Spyware that they use is a bit broad for my tastes (I'm not especially anti-cookie), but it's good to err on the side of caution.' "Better watch out, ad cookies are some of the most insidious spyware out there. Any site that contains an ad from doubleclick et al can track which websites you go to. Remember cookies are domain-centric but the ads always come from the same domain. Then, should you ever purchase anything at or provide user information to any of those sites that contain these types of ads, Bingo! You are now traceable, web site usage, buying patterns etc. Couple that with a few more traditional data gathering methods (maybe filling out a survey for a free magazine) and they can build a profile on you the FBI would be jealous of. Maybe I'm just being paranoid but...." ================================================================= News in this newsletter is written and compiled by Mike Gunderloy, mailto:Mike.Gunderloy@mcpmag.com. I'd love to hear from you. Or for between-issue rants and reviews, visit me at http://www.larkware.com . To find out how you can sponsor this newsletter, contact Henry Allain at mailto:hallain@101com.com. Microsoft Certified Professional Magazine 101communications LLC 16261 Laguna Canyon Road, Suite 130 Irvine, CA 92618 Phone 949-265-1520 Fax 949-265-1528