Saturday, April 10, 2004

The Regulator 2.0 is out (Beta)

The Regulator 2.0 is out

"added: installer
-added: generate C# or vb.net code from regex(via tools menu)
-added: regex Analyzer. Describes in plain language the regular expression(via view menu)
-added: Compile to Assembly. Compiles the current regex into a dll. (via tools menu)
-added: The Regulator can now accept a file name of type '.express' as a command line argument to open with
-added: file association for '.express' files. Double clicking on an express file will launch a new instance of The Regulator with the document open."

Cool... I like the compile to DLL option...

Again, one MORE thing I need to look at...

Vil 1.0 Command-line version Released!

Vil 1.0 Command-line version Released!

"Vil provides metrics, visualization, querying, and analysis of .NET assemblies, classes, and methods for all .NET languages, including C# and Visual Basic.NET. Vil inspects .NET DLL's and EXE's and provides an easy means of rapidly filtering and sorting through thousands of classes and methods in multiple assemblies to find code meeting specific criteria, or generate bulk reports.

v1.0 of Vil is now released and available for download. This release, includes more metrics, better documentation, numerous bug-fixes, many more command-line options, output options for HTML, support for multiple assemblies, much broader support for relative path references, support for the Mono runtime on Linux, and performance enhancements. "

Interesting...

Friday, April 09, 2004

The Code Project - Generate Thumbnail Images from PDF Documents - VB.NET

The Code Project - Generate Thumbnail Images from PDF Documents - VB.NET

"Introduction
This article presents VB.NET code to create thumbnail images from a directory of Adobe Acrobat PDF documents.

Often when looking for documents it is much easier to find what you want visually, for example seeing the cover of a document.

The application was written for a website that I was developing that needed to display links to PDF documents. Instead of just showing a little PDF icon next to each document we wanted to display the front page of the actual document. "

Some interesting tips that I might be able to use...

Thursday, April 08, 2004

Auto-Generating Wrapper Classes for Stored Procedures, Part 1: Using the outspread Tool

Data Access & Storage Home: Auto-Generating Wrapper Classes for Stored Procedures, Part 1: Using the outspread Tool (.NET Development (General) Technical Articles)

"Summary: The AutoSproc tool uses reflection to auto-generate wrapper classes for calling stored procedures. This saves the developer from having to work with ADO.NET classes such as SqlCommand, SqlParameter, SqlDataAdapter, etc. Here, we'll take a look at the salient points of the tool and review how to use it in your application. For more details on the internals of the tool, see the companion article Auto-Generating Wrapper Classes for Stored Procedures, Part 2: The Internals of the AutoSproc Tool. (18 printed pages)

...

Writing code of this nature can be both tedious and potentially error prone with many developers using a cut and paste solution each time. This kind of repetition leads one to consider alternative approaches based on code generation techniques—in this case, code that automatically generates the wrappers for you based on type information.

This article outlines the usage of a code generation tool, AutoSproc..."

Cool. Been looking at Code Smith for this, but haven't had a real chance to do it in-depth.

Now with this MS function specific utility I might not have too...

So many things to play with, so few threads... :)

UPDATE: Here's Part Two, too

myITforum.com : Create a MSI file for setting .NET Framework Security

myITforum.com : Create a MSI file for setting .NET Framework Security

"Create a MSI file for setting .NET Framework Security"

Mike Linkey - 4/6/2004

"Deploying .NET Framework and need to setup the security? This will help you create an MSI file for distribution via SMS or a Group Policy.

Install the .NET framework from Microsoft on the machine you will be using to create the MSI file.

Set the .NET Framework Security to what ever you need for your organization.

Run the Microsoft .NET Framework 1.1 Configuration. (NOTE: This is in Control Panel under Administrative Tools)

In the MMC, select Runtime Security Policy.

On the right side of the screen, select the link that says Create Deployment Package

Choose Machine and enter the location to create the package at the policy level screen, Click Next.

Click Finish.

Go to the directory you entered above and copy the MSI file to your package source location and set the package up to run hidden with no prompts. It will also need to run with admin rights. You can also take this MSI file and deploy it with GPO if you so desire."

Nice, easy sounding tip to apply .Net Security settings as part of your setup...

Continuous Integration with CruiseControl.NET and Draco.NET

TheServerSide.NET - TSS Article

"What is Continuous Integration?
Continuous integration is the strategy of making sure that changes to the project’s codebase are built, tested and reported on as soon as possible after they are introduced. This assumes several prerequisites:

Your code is maintained in a central location, preferably a source code control product like CVS or Visual SourceSafe.

You have made a build script of some kind, like a NAnt .build file or a Make script.

Optionally, you have included unit tests in the codebase as part of the project.

Once these are in place, you can create a continuous integration environment. This is a central server that monitors the source code repository and springs into action when it notices changes (commits). Its job is to check out a full version of the codebase whenever any part of it changes, run your build file and report on the results. What constitutes a build is up to you; normally, a build is a full compile of all source files, running unit tests and creating the deployment archive.

Why You Need Continuous Integration
All development teams (read: more than one programmer) have to deal with integration builds. This is where you pull together all the bits and pieces that the different team members were working on, and check to see if you have a fully functioning product or a Frankenstein’s monster. Like many other project management tasks, though, it can be complex and repetitive. This unfortunate combination means that over time, you will likely devote less brain power to running the integration build, even less to documenting the results, and are likely not only to miss important problems but fail to have a documentation trail that you can look back on later to see the mistake. A continuous integration tool takes away the repetitive task, makes it repeatable and automatic and builds a document trail as it works for historical accuracy."

Interesting... One more thing I need to look at.

I'd love to have an automated nightly build process in place, where I didn't have to code the entire thing...

I have a bunch of scripts/batch files/etc to do my builds, but it's prett fragile.

These two tools sound like something too look at.

Wednesday, April 07, 2004

Latest version of the WSS FAQ PDF file created and uploaded

Latest version of the WSS FAQ PDF file created and uploaded [Mike Walsh's WSS, Finland and more]

"Latest version of the WSS FAQ PDF file created and uploaded
Once again after a somewhat greater effort than usual, I've created a PDF file of the present state of the WSS FAQ part of the WSS FAQ site (confused yet?).

This is now the 20th 'issue' since the WSS FAQ started off about this time a year ago and you can find it here

http://wss.collutions.com/Documents/FAQv20.pdf"

Download details: Excel Excess Formatting Cleaner Add-in

Download details: Excel Excess Formatting Cleaner Add-in

"Overview
The Excel Excess Formatting Cleaner Add-in program removes all formatting that has been applied beyond the cell range that contains data, or beyond the cell range that is covered by shapes, in each worksheet in the workbook. This reduces the file size of a converted Lotus 1-2-3 file or of a file that has formatting applied beyond the data range.

You can also use this add-in program to resolve various printing and viewing problems that are caused by extra formatting that is applied outside the last cell (as defined by the UsedRange property to determine which cells in the worksheet contain data). This add-in automates one of the most frequent steps that Microsoft Product Support Services (PSS) support professionals perform when they are troubleshooting these issues."

Interesting...

MS Bob 1.0a on MSDN Subscriber Downloads...

Just got this on the MSDN Subscriber RSS Feed

"Microsoft Bob 1.0a
Microsoft Bob 1.0a was posted to MSDN Subscriber Downloads on March 31, 2004.
Wed, 31 Mar 2004 05:36 PM"

LOL... I can't seem to find it there though... I want it... um... just cuz?

Understanding Isolated Storage - .NET Developers

Understanding Isolated Storage - .NET Developers

Very nice Isolated Storage article...

Free Range SQL - It tastes better.

Free Range SQL - It tastes better.

Interesting approach to flexible queries without giving up stored procedure usage...

" common requirement from users is the ability to be able to search on the columns they want.
In affect they would like to roll there own queries.
As an example take the Employees table in Northwind. The user wants to be able to search on any/all fields.
If your development environment only allows stored procedures then the usual solution is to use the ISNULL or COALESCE for each column in the WHERE clause.
SELECT * from Employees WHERE EmployeeID = ISNULL(@EmployeeID, EmployeeID)

Problem is, performance sucks..At best you will get an index scan...
There are some ways to build the predicate that can make use of index efficiently depending on the data type, but in most cases, the column needs to be NOT NULL. Some techniques

The other solution is dynamic SQL. This raises the stress on security ,specifically injection, compared to the type parameters used in Stored Procedures.
But by bringing together sp_executesql, column ordinal positions, some bit wise arithmetic and finally a standard naming convention, we can overcome the security and performance issues while satisfying the users requirements.."

Classic Live - SimCity.com

Classic Live - SimCity.com

Nice... You can play SimCity Classic free online...

Tuesday, April 06, 2004

Application Domain FAQ

Application Domain FAQ

Nice .Net AppDomain FAQ

"This compilation of Frequently Asked Questions & answers (FAQ) is intended to answer several of the questions about application domains asked by developers writing managed code that uses the Common Language Runtime (CLR) Base Class Library (BCL) APIs.

This document concerns itself only with the managed BCL view of application domains. This FAQ does not address application domain programming for unmanaged code developers, nor does it address how to host the CLR."

Monday, April 05, 2004

Windows Installer XML (WiX) toolset has released as Open Source on SourceForge.net

Windows Installer XML (WiX) toolset has released as Open Source on SourceForge.net

" The Windows Installer Xml (WiX) toolset (pronounced "wicks toolset") appears to have finished propagating around the SourceForge.net CVS servers, so I can finally start writing this blog entry. As promised in my blog here, here, here, here, and here the WiX toolset and all of its source code has been released so that you can build Windows Installer databases (MSI and MSM files) the same way most groups inside Microsoft do. However, a funny thing happened on the way to the forum. WiX became the first project from Microsoft to be released under an OSS approved license, namely the Common Public License.

Before everyone gets sidetracked by the Open Source implications, let’s talk about exactly what WiX is. WiX is a toolset composed of a compiler, a linker, a lib tool and a decompiler. The compiler, called candle, is used to compile XML source code into object files that contain symbols and references to symbols. The linker, called light, is fed one or more object files and links the references in the object files to the appropriate symbols in other object files. Light is also responsible for collecting all of the binaries, packaging them appropriately, and generating the final MSI or MSM file. The lib tool, called lit, is an optional tool that can be used to combine multiple object files into libraries that can be consumed by light. Finally, the decompiler, called dark, can take existing MSI and MSM files and generate XML source code that represents the package."

Very cool... I dig that MS is releasing more and more as Open Source...

How SharePoint Works (Barracuda .NET)

How SharePoint Works (Barracuda .NET)
"Technical Whitepaper for Software Developers and System Architects"

Nice indepth article on how SharePoint works targeted at Dev's...

Steganography - Hiding messages in the Noise of a Picture

Some interesting links... Not that I need to hide anything, but the concept is pretty cool.

And being in the EDD business this is of professional interest...

The Code Project - Steganography - Hiding messages in the Noise of a Picture
"Hiding all kinds of data in the pixels of bitmaps."

The Code Project - Steganography II - multiple key and carrier files
"An article about spreading hidden data over many images."

The Code Project - Steganography III - Change only one Bit per Pixel
"An article about hiding each byte of a message bit-by-bit in eight pixels."

The Code Project - Steganography IV - Reading and Writing AVI files
"An article about hiding bytes in the bitmap frames of uncompressed AVI files."