Tuesday, April 12, 2005

Dynamic page updates using XMLHTTP

Dynamic page updates using XMLHTTP

"... show you how to use XMLHTTP to update a portion of a Web page with data from a Microsoft ASP.NET Web service without doing a post back. This is going to be really cool! Trust me.
Back to the top

General overview
XMLHTTP works by sending a request to the Web server from the client and returning an XML data island. Depending on the structure of the XML that is received, you can use XSLT or the XML DOM to manipulate it and bind portions of the page to that data. This is an extremely powerful technique.

Note Microsoft does offer a Web Service behavior for Internet Explorer that makes asynchronous calls to ASP.NET Web services quick and easy. However, this behavior is not supported and it's not the best way to update a page asynchronously. You should use XMLHTTP instead!

In the example I'll work through in this column, I will make three Web service calls to an ASP.NET Web service through XMLHTTP. The Web service will query the Northwind database on the local SQL Server and will return a DataSet to the client in the form of an XML diffgram. I will then use the XML DOM to parse that XML data and dynamically update portions of my page. All of this will be done without a post back. ..."


AJAX the MS way...

Looks like what I've been doing for a while, but nice to see it in print... What is new to me is how a SOAP end point is used (I use a custom ASP page that emits XML).



(via KBAlerts)

RegistryPlus - Advanced Registry Manipulation with .NET

RegistryPlus - Advanced Registry Manipulation with .NET

"...a really small and simple API to solve those problems, and it's called RegistryPlus.
Basically, it has 3 objects:


SuperRegistryKey - a more advanced version of Microsoft.Win32.RegistryKey.
RegistryEntry - A strongly-typed object that stores an entry name and a value.
RegistryEntryCollection - A collection of RegistryEntries that you can DataBind against.

It is really straightforward to interact with. Here's an example that binds the key values agsinst a CheckedListBox.

1Public Sub Form_Load(ByVal sender As Object, ByVal e as EventArgs) Handles MyBase.Load
2 Dim key As New SuperRegistryKey("Software\Microsoft\Terminal Server Client\Default", True)
3 CheckedListBox1.DisplayMember = "Value"
4 CheckedListBox1.DataSource = key.Entries
5End Sub

...


Robert McLaws has released a cool little Windows Registry library which he calles RegistyPlus.

I thought it was cool that it could be used as a Data Source...

AJAX .NET Wrapper DLL Video

AJAX .NET Wrapper DLL Video

"...The second sample in this video will show you how cool it is to return your own class. You will be able to use nearly the same syntax as you use it with C#. I am using the JSON (Javascript Object Notation) that will work in Firefox, Mozilla and Internet Explorer.

Download the video as a zip: http://ajax.schwarz-interactive.de/download/ajaxvideo.zip
View the video online: http://ajax.schwarz-interactive.de/download/ajax.wmv"


Here's a cool video on using the AJAX .Net wrapper that I mentioned here.

What what ever reason, I'm not getting any audio with the video, but it's easy to see what's going on and we don't need no stinking audio! :)

Monday, April 11, 2005

Kid's Programming Language from Morrison Schwartz

Morrison Schwartz > News and Blogs > Kid's Programming Language!

"Morrison Schwartz last week released a tech preview of our freeware Kid's Programming Language. The announcement, more information, several screenshots and the download link are in our Kid's Programming Language discussion forum.
Kid's Programming Language, in it's fully functional V1 tech preview, is:


  • a simple but complete IDE (integrated development environment) for kids to use

  • a bunch of cool sample programs that teach kids about programming in a fun way - worms, bricks, bugs, bouncing balls, games, etc...

  • a Word doc which provides an overview and documentation about the language itself



We've got lots of other fun things planned for KPL - kid-oriented docs, more games, more educational libraries, such as algebra, graphing and statistics - but as it's already fully functional and working well, we wanted to put it up and start getting feedback. "


Sounds interesting.

My son has expressed an interest to maybe become a coder one day and something like this might help (well he wants to code up games... you know like WoW and Battlefield... ;) Either that or be a MythBuster )

Enterprise Library Data Provider for Firebird



"Enterprise Library for Firebird
Enterprise Library data provider for the Firebird database. Distributed under the terms of the LGPL license.
-----------------
Releases
April 5th 2005, version 0.7.0: download"


When I start playing with Firebird I'll want to check this out...

Also it shows how cool MS's Enterprise Library is and how it can be extended to other databases...

(via DotNetFirebird - Enterprise Library Data Access Application Block for Firebird)

FreeTechBooks.com

FreeTechBooks.com - Free online computer books, tutorials, lecture notes and documentations:

"What's Inside?

This site listed free online computer science books and lecture notes, all of which are freely and legally available over the Internet.

What's the Catch?

None. All the books listed here are available for free, as they are hosted on websites that belong to the authors or the publishers. You are most welcome to view, download and print the books for your own private use at no charge.

These authors publish their books for free to give you a chance to review their books, to get as much good information distributed as possible. So, if you like what you read online, you can always support the authors by buying the paperback at your local or online bookstores ..."


There are some interesting books listed here. Mostly open source/Java/C/C++ and such related it looks like.

I just wish the site had a RSS feed... sigh...

Background Processing in Windows Forms Applications (Part 1): Improvements in the .NET Framework 2.0

Microsoft Belgi� & Luxemburg - MSDN - Background Processing in Windows Forms Applications (Part 1): Improvements in the .NET Framework 2.0

"This article explains how to create and execute background processes in a WinForms application with the .NET Framework 1.x and then shows improvements made in the .NET Framework 2.0 with the BackgroundWorker class. ..."

A short and sweat overview article on WinForm threading/background processes...

Friday, April 08, 2005

HTA Helpomatic

Download details: HTA Helpomatic

"The HTA Helpomatic is a utility that helps script writers create HTML Applications (HTAs). HTAs enable you to provide a graphical user interface for your scripts, an interface that can include anything from list boxes to radio buttons to checkboxes. The HTA Helpomatic includes sample VBScript code and sample HTML code showing you how to do things like add a button to an HTA. Equally important, the Helpomatic also shows you how you can run a script any time that button is clicked. As an added bonus, the Helpomatic enables you to modify the scripts and HTML code and test those modifications in the utility itself."

Writing HTA's is not the easiest thing in the world [comments about what I'd rather do than write HTA's deleted to save space and mental anguish]. This utility seems like it would help a great deal...

New version of AJAX Wrapper for .NET

New version of AJAX Wrapper for .NET

"New version of AJAX Wrapper for .NET

A new version of the AJAX Wrapper DLL is available online for free at http://ajax.schwarz-interactive.de/download/ajax.zip. For demonstration I have added a new sample (including source code of sample project) that will show how to use the AJAX Wrapper DLL in you projects:

http://ajax.schwarz-interactive.de/csharpsample/default.aspx
http://ajax.schwarz-interactive.de/vbnetsample/default.aspx

Now, the AJAX Wrapper DLL is working with VB.NET, C# and any other .NET language. Firefox, Mozilla and Internet Explorer are supporting XmlHttp request, and there is no need to adapt Javascript code.

You can now use bool, int, string, xml and your own classes as return value. If you return your own class you will be able to use it directly as a real object. ..."


Interesting. I've been doing AJAX for years now, but doing it in a IE only fashion. This sounds like if I want to continue with AJAX development I'll want to check this out.

Google Sightseeing

Google Sightseeing

An interesting site of cool places as seen from Google Maps' new satellite view. Area 51, Staples Center, LA, Neverland Ranch...

I submitted the Simi Smilley... We'll see if it makes it. :)

(via Alex Barnett blog - Area 51 on Google Maps Satellite)

Carlo's Bootleg RSS Feedpalooza

Carlo's Bootleg RSS Feedpalooza

A bunch of handcrafted scrape RSS feeds for a good number of sites that don't provide feeds themselves (silly them).

For example, there are some WoW feeds from official home page, newest files from FilePlanet, etc, etc.

And here I thought I was doing good and limiting my new feed subscription rate... sigh...

Power Collections version 1.0 is feature complete

Wintellect - Know How - Resources - Power Collections - Download

"...This version has a two new important classes: MultiDictionary and OrderedMultiDictionary, which map a key to multiple values. I'll post a description of these classes and the design thinking behind them in a subsequent posting.

This version also has a number of smaller changes:

1. The BigList class has been updated with many utility methods, to make it much closer to a replacement for the BCL List class.

2. Most collection classes now have a Comparer property to return the IComparer that the classes was constructed with.

3. Several renamings of methods to be better: AddAll became AddMany, RemoveAll become RemoveMany, SubsetOf became IsSubsetOf (and several similar renamings), AddTyping became TypedAs, RemoveTyping became Untyped, UniqueItems became DistinctItems.

4. The Range, RangeFrom, and RangeTo methods on the ordered collections now take additional boolean parameters indicating whether the endpoints of the range should be treated inclusively or exclusively.

With this drop, Power Collections version 1.0 is feature complete. From now on, I'm not planning to add any new collection types or major new features. Instead, I'm going to polish, fix, and get what is there ready for a final release. ..."



The very cool VS2005/Net 2 collection library PowerCollections is feature complete and available for download. Now all we need is VS2005/.Net 2 Beta 2... :)

Thursday, April 07, 2005

Alchemi - .NET Grid Computing Framework

Alchemi [.NET Grid Computing Framework]

"Alchemi is an open source software framework that allows you to painlessly aggregate the computing power of networked machines into a virtual supercomputer (computational grid) and to develop applications to run on the grid.

It has been designed with the primary goal of being easy to use without sacrificing power and flexibility.

Alchemi includes:
The runtime machinery (Windows executables) to construct computational grids.
A .NET API and tools to develop .NET grid applications and grid-enable legacy applications.

..."


Cool...

Now how to put this to use...

(via Ohad's WebLog - .Net Virtual SuperComputer (GRID))

Wednesday, April 06, 2005

BlogExtension Plug-in for Windows SharePoint Services

SharePoint Thoughts - Discussion view

"The BlogExtension Plug-in for Windows SharePoint Services (yes, I know I have a knack for picking long names) is ready for use. In the tradition of big search companies whose names rhyme with noodle, I'm going to call this a Beta Release (even though you won't see word beta anywhere, nor is functionality truncated).

Why is this a Beta Release?
Feedback is needed...
Does the UI make sense?
Does it work like your other plug-ins? (this is where I have little to no comparison data)
Ideas for improvement?
There is no documentation (or than this post and the download page).
I may have to change things around a bit. Time will tell.
Lets all be trendy by using something that is in beta. :)

What do you get out of it?
Two plug-ins: one for publishing content and the other for simply publishing links.
A really cool way of interacting with your SharePoint sites and blogs.
Zero cash investment free is always nice!

Installation instructions:
Unzip the download file, run the exe.
Either point your RSS reader to folder where the plug-in is installed or manually copy the files to your reader’s “plugin” folder.
Boot your RSS reader and configure the plug-in.
Publish to your heart’s content"


Sounds interesting. I'd be even more interested if I was using a full client RSS reader instead of Bloglines... Still I'm thinking about it for internal blog usage.

Tuesday, April 05, 2005

Microsoft USB Flash Drive Manager (Standard)

Download details: Microsoft USB Flash Drive Manager (Standard)

"USB flash drives are compact and easy-to-use devices that are similar in use to your computer hard drive. USB flash drives slip into your pocket, conveniently around your neck or on a keychain for ultimate portable storage. USB flash drives in 2005 can hold up to 4 gigs of data, which is over 1700 three-minute songs (66 hours) recorded as MP3s or about three times the content of a standard compact disc. If you share a computer, USB flash drives are a great way to store personal information. USB Flash Drives are also a good great option for saving information and share it with others. When you have many things to save and share but you have a limited number of USB Flash Drives, you will need to backup the information and restore it when needed. This is where the Microsoft USB Flash Drive Manager application can help you. The Microsoft USB Flash Drive Manager will help you backup and restore presentation, pictures, songs and applications from and to USB Flash Drive devices and take them with you. The application can also help you to classify and name USB Flash Drives images (for instance 'My network configuration' or 'The pictures for my grandma') and lets you see this name whenever the USB Flash Drive is plugged into the computer.

Microsoft USB Flash Drive Manager is available for Windows XP only. "


Sounds kind of interesting... The only downside for me is that my primary work machine is Win2K (and when I upgrade it will be to Win2k3.

Still my home machine is XP (and so is my wife's) and I have a couple flash drives, so will have to play with this (or maybe hook up my wife/son).

Only in LA...

Star Wars Line Update

"Since I know everyone is dying to find out what's going on with the Star Wars line I've taken it upon myself to read through the entire thread at liningup.net as well as call them several times now and here's the facts of the moment: ..."

LOL. I love LA... :)

Land Walker Robot

Sakakibara Kikai's Land Walker Robot : Gizmodo

"Sakakibara Kikai's new Land Walker robot may look ridiculous, but it has guns. There is no word from the company on whether or not it has any ammo, but the mere fact that it has guns makes it awesome..."

land_walker.jpg image

I gots to get me one of these!

A bird's-eye view [Google Maps with Satellite]

A bird's-eye view

"Have you ever wished you could see what someplace looked like before you got there? A house? A hotel? A freeway exit? We thought you might find it useful, so we've incorporated Keyhole technology into Google Maps and Google Local. Now when you type an address into Google Maps, you can click the 'Satellite' link and see a view of the area. ..."

Pretty cool... These Keyhole satellite pictures are great quality at a high resolution (in most areas). They are also pretty recent, more so than any other that I've come across (I guage this by looking at my neighborhood. Most don't show the damn cluster houses that were built in the field behind us a couple years ago, cutting off our view of the mountains...)

For example, here's why I like Simi. There's a hill on the way into Simi from the east that has a big smiley. You can see it here (zoom in all the way), Simi Smiley. Every time I see that smiley on the hill on the way home I can't help but smile.

:)

Monday, April 04, 2005

SQL Server 2005 Virtual Lab

Visual Studio Hosted Experience

"Step into the SQL Server 2005 Virtual Lab for Free

It's simple — no complex setup or installation is required to try out SQL Server 2005 running in the full-featured MSDN Virtual Lab. As part of the MSDN Virtual Lab, you will have full access to SQL Server 2005 through the following modules:

SQL Server 2005 Integration Services
SQL Server 2005 Introduction to SQL Server Management Studio
SQL Server 2005 Reporting Services
SQL Server 2005 Server Management Objects
SQL Server 2005 SQL CLR Integration
SQL Server 2005 SQL Query Tuning
SQL Server 2005 SQL Server and ADO.NET (Lab A)
SQL Server 2005 SQL Server and ADO.NET (Lab B)
SQL Server 2005 T-SQL Enhancements
SQL Server 2005 Web Services
SQL Server 2005 XML Capabilities

You get a downloadable manual and a 90-minute block of time for each module. You can sign up for additional 90-minute blocks at any time. "


Want to play with SQL Server 2005, but don't want to play the beta install game? Or you just want to check out a couple of the new features? Then Microsoft's Virtual Lab's are for you.

For 90 minutes you get your own Virtual Server session where you can play with SQL 2005.

Pretty cool for a quick and dirty peek. There are a bunch of other Virtual Labs to check out too...

(via Matt - Are you ready to experience SQL Server 2005? - SQL Server 2005 Virtual Labs now available)

How To Sysprep a Virtual PC Image

The Soul of a Virtual Machine : Sysprepping a virtual machine

"You can create a base virtual machine with the operating system and applications you want, and then copy its .vhd file to use for other virtual machines. When you do this, it's important to run a tool called Sysprep on the base virtual machine. That way, when you start a virtual machine that uses a copy of the base virtual machine's .vhd file, the guest operating system will be assigned a new SID, GUID, MAC address, and so forth when it starts up. This way you won't end up with network conflicts between different virtual machines that use the same copied .vhd file. ..."

Pretty detailed instructions on how to Sysprep a Virtual PC guest OS image...

This is something I need to look at, as I'm copying base images and reusing them all the time. Also this might help when I restore a ghost image to a VPC.

(via Darrell Norton's Blog [MVP] - Sysprep your virtual machine)

Tree Surgeon 1.0 [Development Source Directory Tree Setup Utility]

Tree Surgeon - Confluence

"Have you ever spent a few days setting up a new development tree? Have you ever spent several days setting up several development trees? Have you even spent weeks trying to perfect all your development trees using a set of best practices?

If the answer to any of the above answers is 'yes', then you'll like Tree Surgeon!

Tree Surgeon is a .NET development tree generator. Just give it the name of your project, and it will set up a development tree for you in seconds. More than that, your new tree has years worth of accumulated build engineering experience built right in.
Give Tree Surgeon a spin today!

Tree Surgeon 1.0
Tree Surgeon 1.0 is now ready for download. Its pretty simple, but it is fully functional. Its based on Mike Roberts's article How to setup a .NET Development Tree [my post on this].

Download the installer, and just run the GUI. Your generated project will appear in a sub-directory of the Tree Surgeon Application directory and you should move it to wherever you like to develop on your machine (the meta-root if you read the article above.)

Your generated project has a Visual Studio solution waiting for you in the src folder. Also, if you go into the project root directory, you can run an automated build. ..."


This is pretty cool.

In about 2 seconds you get a complete dev tree, already setup witn NAnt/NUnit and ready to be compiled.

The only issue from my seat is that out of the box it creates C# projects. But that's a little thing and the source is available...

(via Larkware - The Daily Grind 593)

NSurvey 1.9 Released

free .net survey software solutions web based

"NSurvey v1.9 is now available for free from the release download section.

V1.9 is another step toward the goal to match enterprise and indivual needs with a free professional survey and form application.

NSurvey supports now one of the most requested feature which is the capability to create multi-languages forms. The core engine has been updated to support this is an easy and intuitive way to use. Creating a single form in English, French or any other language is not a problem anymore.

A new tutorial / documentation section will also open very soon to help you with all cool and 'hidden' nsurvey features using the excellent flash demo generator from http://www.instant-demo.com/ .

Meanwhile here is the complete change list of v1.9 :

New features
------------
NSurvey's form engine has been fully updated to support multi-languages forms
User languages can be prompted or detected automatically from cookie, browser, session or query string variable
Results can be filtered by a specific date range
Results can be filtered by the language choosen by the user
IMPORTANT change on the Addin's interface, a new LanguageCode property has been added to allow multi-language addin's
Parent matrix questions text is now show along the child question's text in the results
Xml language resource file naming is now based also on the full name (eg: en-US -> en-US.xml). In case the full name is not available the engine will try to load the file based on the two letter name (eg: en -> en.xml). This allows a greater flexibilty for multi-region languages like arabic, chinese etc ....
Results can be shown as Pie chart graphics
Branching and skip rules are now also cloned in the clone process ..."



The VERY cool NSurvey has a new release out...

If you're doing surveys at work/on your site/etc (how I hate the "Fill out the attached Word doc survey and email it back" surveys) or if you are interested in seeing the code for a cool ASP.Net project you should check this out.


(via TheServerSide.Net - NSurvey 1.9 Released)

Extend the Common Dialog Boxes Using Windows Forms 1.x

Smart Client Developer Center: Extend the Common Dialog Boxes Using Windows Forms 1.x

"Describes some techniques for placing Windows Forms controls inside the standard File Open dialog box. You can use this ability to provide 'preview' or 'open as' behavior in your own applications. The same techniques can be applied to the other common dialog boxes. (8 printed pages)

..."


Sounds interesting.

Saturday, April 02, 2005

Network Security Toolkit (NST)

networksecuritytoolkit.org

"Welcome to the Network Security Toolkit (NST). This bootable ISO live CD is based on Fedora Core 2. The toolkit was designed to provide easy access to best-of-breed Open Source Network Security Applications and should run on most x86 platforms.

The main intent of developing this toolkit was to provide the network security administrator with a comprehensive set of Open Source Network Security Tools. The majority of tools published in the article: Top 75 Security Tools by insecure.org are available in the toolkit.

What we find rather fascinating with NST is that we can transform most x86 systems (Pentium II and above) into a system designed for network traffic analysis, intrusion detection, network packet generation, wireless network monitoring, a virtual system service server, or a sophisticated network/host scanner. This can all be done without disturbing or modifying any underlying sub-system disk. NST can be up and running on a typical x86 notebook in less than a minute by just rebooting with the NST ISO CD. The notebook's hard disk will not be altered in any way.

NST also makes an excellent tool to help one with all sorts of crash recovery troubleshooting scenarios and situations."


Another cool sounding bootable CD OS/Toolkit.

I wish I could be rebooted and "transformed" as easily... :|

(via Kent J. Chen's Weblog - Bootable Network Security Toolkit)

Friday, April 01, 2005

VisualStudioHacks.com

VisualStudioHacks.com

"Welcome to Visual Studio Hacks.com! (vshacks.com works as well)

On this site I plan on posting information about add-ins, macros, and tools for Visual Studio. Each item will have an overview and screenshots. I have already posted a number of tools and add-ins, I plan on trying to post at least 2-3 a week.

Visual Studio Hacks.com is a companion site for the book Visual Studio Hacks, but it is more than just that. All of the content on this site is original content, even though it may cover some of the same add-ins and tools covered in the book.

Future plans for the site include a section for Articles and Tips as well as Forums."


Sounds like this could become a cool site. There are already a few "hacks" posted, with more coming I'm sure.

Best of all, there's a complete RSS feed.

(via .Avery Blog - VisualStudioHacks.com)

Thursday, March 31, 2005

SQL Server 2000 Report Pack for IIS Logs

Download details: SQL Server 2000 Report Pack for IIS Logs

"...
Overview
The Microsoft SQL Server Report Pack for Internet Information Services (IIS) is a set of 12 Microsoft SQL Server 2000 Reporting Services reports that works with a sample database of information extracted from Microsoft Internet Information Services (IIS) log files. This database can be populated with your own data using the Log Parser included with the IIS 6.0 Resource Kit. You can use also the sample reports as templates for designing new reports.

This Report Pack includes the following reports:

  • Global Statistics
    Contains a top-level summary chart of visits and bandwidth for one or more sites with drillthough for each month.
  • Site Summary
    Contains a site summary for a specified site, month, and year. Includes a document map and all other detail reports.

  • Time Period
    Shows a parent report with subreports containing time and date based visitor statistics.

  • Day of Week
    Contains bar chart, bubble chart and table with visitor information per day.

  • Hourly Statistics
    Contains a chart and table with visitor information per hour of the day.

  • Day of Month
    Contains chart and table with visitor information per day of the month.

  • OS Statistics
    Shows a table containing of the number of visits based on the operating system type. Also shows detailed chart with version information for Windows OS visitors.

  • Browser Statistics
    Shows a table containing the number of visits based on the browser type. Also shows detailed chart with version information for Internet Explorer visitors.

  • Country Statistics
    Contains a breakdown (table and chart) of the number of visits based on the country of origin.

  • Length Statistics
    Contains a breakdown (table and chart) of the number of visits based on the amount of time spent on the site.

  • Pages
    Contains statistics about the top 5 most viewed pages on the site.

  • Visitors
    Contains of sub reports of Web site visitor statistics grouped by time and date.

... "

Sounds interesting. Cheap and free (if you already have SQL Server, etc) IIS web log reporting.

If you can't afford WebTrends or like product, this might be something to look at. Also if you need to roll your own IIS web log reporting, then this might be a good starting place...

Using Bloglines To Track Podcasts

Using Bloglines To Track Podcasts

"... Subscribe to Podcasts in Bloglines

If you are new to podcasting, find a few to sample by checking out some of the online guides to the new art, like www.ipodder.org or www.podcastingnews.com. Every podcast has an RSS feed, so simply subscribe to your favorites as you would any other kind of blog or news feed in Bloglines.

Once you subscribe to a podcast feed in Bloglines, it will be added to your personal My Feeds list. When a new podcast is available, you'll see the alert next to that feed. Each podcast update has a text note accompanied by an enclosure icon that links to the audio podcast file. Simply click on that enclosure link to start the podcast. That will launch your desktop media player ..."


This is the first time I've seen this Bloglines tip. I didn't know it supported enclosures. That's cool.

So now I might have to get into the whole podcast thing... sigh. Well in my case it will be a "Convert to wav so it plays in my car's lame, no MP3 support, CD player cast" which I officially dub LameCast... ;)

Test Databases Are Vulnerable, Too

Forrester Research: Test Databases Are Vulnerable, Too

"When it comes to securing private data, all databases - production and nonproduction - should be treated equally. It's the data that counts, not the type of database. Test databases are often replicas of production data, and if they store private data without strong security policies and procedures, they could easily fall prey to hackers. ..."

SO true. Production DB's are usually in secure data centers, with access security, guarded by robots with lasers, etc, etc.

All to often I've seen production Db's backed up and given to someone for testing/troubleshooting/dev/etc with "live" data (sometimes you just have to use real world data...).
The problem is that those test systems were... um... well... not guarded by robots with lasers.

What about your test/QA/Live-dev/troubleshooting/demo DB's? Are they secure and safe? Do you even know were all the copies are? And they source backup's?

Right... No, I believe you... really... :|

Personal Computer World - 110 Free Microsoft Tools

110 Free Microsoft Tools (Download)

Four spreadsheets (in a zip) with 110 free things from MS. Title, Description and URL.

It's kind of like a dump of the http://www.microsoft.com/downloads but focused on the cooler items.

From Lookout 1.2, to 3 degress, to the Office 2003 viewers, Powerpoint template collections, Windows Media stuff, TweakUI, etc, etc, etc.

In general, tons-o-free-MS-stuff...

Microsoft Windows Server 2003 Service Pack 1 (32 bit)

Download details: Microsoft Windows Server 2003 Service Pack 1 (32 bit)

Do I dare? Win2K3 SP1 is also available via Windows Update.

I think I'll wait until Monday and then give it a go (after I backup a few critical files)...

(via STEFANO DEMILIANI WeBlog - Windows Server 2003 SP1 out!)

Wednesday, March 30, 2005

Convert any URL to a MHTML archive using native .NET code

The Code Project - Convert any URL to a MHTML archive using native .NET code - VB.NET

".. If you've ever used the File | Save As... menu in Internet Explorer, you might have noticed a few interesting options IE provides under the Save As Type drop-down box.

The options provided are:

Web Page, complete
Web Archive, single file
Web Page, HTML only
Text File

Most of these are self-explanatory, with the exception of the Web Archive (MHTML) format. What's neat about this format is that it bundles the web page, and all of its references, into a single compact .MHT file. It's a lot easier to distribute a single self-contained file than it is to distribute a HTML file with a subfolder full of image/CSS/Flash/XML files referenced by that HTML file. In our case, we were generating HTML reports and we needed to check these reports into a document management system which expects a single file. The MHTML (*.mht) format solves this problem beautifully!

This project contains the MhtBuilder class, a 100% .NET managed code solution which can auto-generate a MHT file from a target URL, in one line of code. As a bonus, it will also generate all the other formats listed above, too. And it's completely free, unlike some commercial solutions you might find out there.

..."


Building Mht Files from URLs revisited

"... finally finished updating my Convert any URL to a MHTML archive using native .NET code CodeProject article. It's based on RFC standard 2557, aka Multipart MIME Message (MHTML web archive). You may also know it as that crazy File, Save As, "Web Archive, Single File" menu option in Internet Explorer. It's basically a way to package an entire web page as a (mostly) functional single file that can be emailed, stored in a database, or what have you. Lots of interesting possibilities, including quick and dirty offline functionality for ASP.NET websites using loopback HTTP requests.
..."


Very cool.

I wonder if I can use this class to create a quick and dirty Blogspot backup utility...

I'm currently using HTTrack to "back up" my blog, which works great, but it does create a lot of files (exactly as it is supposed to...). Having each of my blog posts as a single page/MHT would be pretty cool and much easier to email/store.

[Gear grinding noises can be heard coming from Greg's head...]

VB.Net Does TAPI 3.0

GotDotNet User Sample: VB.net Does TAPI 3.0

"are you surprised ? or not ? It doesn't matter anymore. this sample is a class library that can be used in any project to enable capturing of callerID with TAPI 3.0 Com InterOp. though it is not a complete project from A-Z but its a great code base for those searching for a kick-start in TAPI 3.0 and .net ..."

Very cool. I was thinking about doing something with Caller ID the other day...

Blogger Problems...

Blogger has not been a happy camper that last few days... I have a number of posts I want to make, but after having a number of them thrown away due to Blogger's unhappyness I kind of gave up for a bit...

I guess I get what I pay for... :|

Tuesday, March 29, 2005

HOW TO: Programmatically Set NTFS File System Folder Permissions by Using Microsoft Visual Basic .NET

HOW TO: Programmatically Set NTFS File System Folder Permissions by Using Microsoft Visual Basic .NET

"This step-by-step article describes how to programmatically set NTFS file system folder permissions by using Microsoft Visual Basic .NET."

I know I'm going to need this...

Major Updates at AWZone

Amazon Web Services Blog: Major Updates at AWZone

"The three scratchpads (SOAP, REST, and Code) have been combined in to a single universal scratchpad.
Support for France and Canada has been added.
The international scratchpads now support code generation.
Upgraded to use the newest WSDL (2005-03-23) and the new features therein."

The very cool AWS Zone has been updated... I you're doing Amazon development, this site is a must have in your fav's list.

Saturday, March 26, 2005

Koders - Source Code Search Engine

Koders - Source Code Search Engine

A cool programmers search engine. Many languages and licenses available.

Friday, March 25, 2005

Access-based Enumeration in Windows Server 2003 SP1

Hide folders underneath a share where the user has no permissions

"Now the word is spread, so I can blog that as well: Windows Server 2003 SP1 (and the x64 Version) will finally introduce the feature that folders underneath a share can be hidden when the user browsing the parent folder or share has no read-permissions on that folder. It's been requested for years, and finally made it's way to Windows Server. This feature is called Access-based Enumeration.

You can switch this on and off for every share with a commandline-tool (abetool.exe) and in the final version this is supposed to be supported by the GUI as well. ..."


Very nice. I'm a believer that if you can't access something you shouldn't see it to begin with. And it's bugged me that folder enum/listing didn't support this.

I've written tools that wrapped folder listings with an initial "can this user read+ this folder" check and if not, not list it. Mostly done to avoid social engineering ("Why I can access folder XYZ?" "Who is BlaBla and what do they have in their Folder..." "I'm So And So and I don't have access to folder ABC [when the person is really Am Not So And So]" etc, etc, etc.). Security by obscurity, but also least privilege. If you don't have access, why should you even see it?

Now it looks like the OS will support this natively, which is pretty cool...

MIT Builds Alarm Clock That Hides

BetaNews | MIT Builds Alarm Clock That Hides

"MIT Media Lab might have the answer for individuals who just can't get out of bed in the morning. Research associate Gauri Nanda has created an alarm clock, called 'Clocky,' that drives off a bedside table and hides as soon as the snooze button is pressed. And to ensure its owner awakes, Clocky hides in a different spot each day. ..."

LOL... I SO have to get one of these for my son...

sp_MSforeachtable

Raymond Lewallen : Using sp_MSforeachtable

"...sp_MSforeachtable will loop through all the tables in the database, performing a command. In our case above, we want to run 2 commands: 1 to set NOCHECK on all CONSTRAINTs, and another to DISABLE all TRIGGERs.

sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'

The '?' serves as a place holder for the table name. Once your data is loaded, just turn everything back on:

sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'
sp_msforeachtable 'ALTER TABLE ? ENABLE TRIGGER all'

You can be a bit fancier and run more than 1 command per call to sp_msforeachtable (limited to 3 commands) by passing in parameters of commands you want to execute per table.

sp_msforeachtable @command1='ALTER TABLE ? CHECK CONSTRAINT all', @command2='ALTER TABLE ? ENABLE TRIGGER all'

Another great use for this sp is for DBCC commands on tables or database, as there is also a sp_MSforeachdb stored procedure too.

sp_msforeachtable 'dbcc checktable ('?')'"


Cool...

I guess I'll have to rework my procedures that use a cursor against the information_schema.tables view... :|

Thursday, March 24, 2005

New Home for Monoppix Training Videos

The Mono videos I posted about here, href="http://coolthingoftheday.blogspot.com/2005/03/monoppix-video-tutorials.html">Monoppix Video Tutorials, have moved to a new home, Monoppix Training Videos

With a free registration comes more cool videos and related resources...

Registered User Downloads

"Registered User downloads are much more complete than the free downloads. In addition to the video demonstration, the registered user downloads include full source and executable code and a user manual. As a time saving mechanism, each of the parts can be downloaded individually or all together as a single package.

The video demonstrations lead you from beginning to end for each project. They illustrate the various methods and techniques required for developing cross-platform Mono applications while using Monoppix as the Linux distribution.

The source and executable code includes all files which were created during the recording of the video demonstration. In addition to the project and solution files, you'll also get all the source code as well as the compiled executable code so you can run the demonstrations on your own system.

The user manual is a document describing the development process, the underlying details which are necessary but perhaps unrelated to the video demonstration, printed source code and screenshots of the development routine."


(via markdotnet - Different Location for Monoppix training)

Wednesday, March 23, 2005

Sometimes They ARE Around When You Need Them...

iriggs blog ENTRY 1149

"brand new BWM SUV with dealer plates flies up on the left with no blinker on. I'm fuckin amazed that she's there, but then i realize that she's on her cell phone. She can't turn on her blinker, cause she would have to take the phone away from her left ear. I'm figuring that she's also driving on the shoulder, cause she has no clue that the lane she was in was an exit lane. So this is where it gets funny. She is slowing down, honking, and swerving directly into the side of my car like she's going to make the lane change into my driver's side door. She slams on her brakes, (still no signal) swerves and cuts off the guy behind me, drops behind me, gets directly on my rear bumper, and starts to give me the finger.

Camera is already sitting on my seat

She makes another quick swerve lane change and gets into the middle lane. She's pulling up on my right side now, to give me a piece of her mind i believe. What she does not know is that a CHP unit is in the right lane. He's been there since the 5 freeway interchange. I saw him pull on the freeway there, and i've been driving steady at 55 along with the rest of traffic.

She pulls directly next to me. Cell phone still on her left ear. Right hand comes across to give me the finger. At this point i have the camera already snapping shots. She's so into giving me the finger, that she does not notice the CHP unit drop in behind her and light her up.

It was a bright day with beautiful clouds, so the pictures were not too clear of her, but there is no doubt, she's got no hands on the wheel."


Beautiful! I see this kind of crap ALL the time (spend 2 1/2+ hours a day on LA Freeways and you see ALOT). Nice to see someone pay the price for their stupidity.

Click through to see the pictures... :)

(Via LA Observed - Freeway justice)

Creating project item code templates for Visual Studio.Net

The Code Project - Creating project item code templates for Visual Studio.Net - .NET

"This article describes how new project item code templates work in Visual Studio.Net 2003 and presents a component that makes it easy to write new templates

...

This article describes how the code templates that are used when adding new project items in Visual Studio.Net work. There are several other articles on CodeProject that touches on this subject (a few are listed in the References section at the bottom) but the goal of this article is to describe in more detail how it works.

A component, called Krevera Template Manager, is also introduced that makes it (fairly) easy to create custom templates and it's functionality is described. Included with the component are templates for strongly typed collections and strongly typed dictionaries for C#, VB and C++.

If needed, this component can be extended to create even more powerful templates.

... "


Interesting... Lots of nice information on VS templates.

I'm 13 percent of the way there.

I'm 13 percent of the way there.

"Next time your random manager asks how far through that (indefinite) task she (sort of) assigned you, just answer:

I'm 13 percent of the way there, boss.

This is the perfect answer. No one ever knows what response to give to thirteen percent. Clearly you're underway, but clearly there's a lot of work to be done. Better leave you alone..."


Perfect... I'll make sure to note that on my next TPS report...

Tuesday, March 22, 2005

Cool Gauge Widget (in C#)

The gauge

"Wanted a different sort of progress indicator cq counter for myself and the result became a customizable gauge. Its needle needs some more work, but for now this one suits me fine.

The class can either create an image (on a baseimage or from ground up) or paint on a graphics object directly (as done in the example project).

In this example the background is just the plain old control colour, but don't mind that. Since the gauge can be drawn on any image, the background can be set as pleased."


Cool, simple circular gauge winform widget written in C#. Click through for a screenshot and to download the source.

What's New Web Part for SharePoint Sites

GotDotNet User Sample: What's New Web Part for SharePoint Sites

"Source code for a Web Part that walks through an entire site using the WSS object model and returns the most recently changed entries."

Sounds like an interesting way to learn part of the Sharepoint object model...

Open Source C# Project Directory

Open Source Software in C#

A cool directory of open source C# projects. This is a step above a raw link list in that each project has its own page, with links to articles, tutorials and resources. Also there are links to related projects.

Now what it needs is a couple RSS feeds... ;)

(via Ryan Rinaldi's Blog - Open source C# Project directory)

Use Your Instant Messenger To Query Amazon

Use Your Instant Messenger To Query Amazon

"Riaan van Schoor from InsideC has released a new Instant-Messenger based application, this one is for querying Amazon. To use it, just add 'amazon@insidec.com' to your list of messenger buddies (or if you use AOL, add 'InsideAmazon' to your list)."

Kind of cool... Click through to see some screenshots.

We're starting to see more and more of these class of apps. But I wonder how long before the API's get locked down to help spIM control, etc?

But until then I guess we can play... :)

SimpleTech 128 GB Solid State SATA Drives : Gizmodo

SimpleTech 128 GB Solid State SATA Drives : Gizmodo

"SimpleTech has announced their new Serial ATA Solid State Drive called the Zeus. Lacking any moving parts, it's effectively a gigantic flash drive with an SATA interface. The Zeus will be offered in capacities up to 128 gigabytes with read and write rates reaching 60 megabytes per second. (Being a solid state drive, though, it's true speed is in the seek time, which is negligible.) The drives are also only 9.5 millimeters tall, making them easily stackable and expandable. No word on price, but assume it will require a second mortgage, considering their 8GB CF card was selling for $6,000 last year. "

New must have for uber-gaming machines?

LibCheck [Assembly Diff]

Download details: LibCheck

"This tool allows you to compare two versions of an assembly, and determine the differences. The tool reports the differences as a combination of 'removed' and 'added' APIs. The tool is limited to looking only at APIs (i.e., it can't check for behavioral changes), and only compares public differences, or changes which are deemed to be 'breaking.' The tool can be used to quickly determine what has changed between one version of your assembly and another, and can help ensure that you won't introduce any breaking changes to clients of your assembly. Instructions and intended use of the tool are described in the 'libcheck tool specification' document with the zip file."

Cool, an interface Diff for assemblies...

Monday, March 21, 2005

VS2003 Regions Add-In

Regions Add-In Updated

Richard Dudley points out a cool VS2003 addin, Regions Add-In.

"One of my favorite add-ins for Visual Studio is the Regions Add-In, and it's recently (well, Feb 11 anyway) been updated to version 2. The new version adds a region explorer, a list of region names (”Templates” as they're called), and some configuration options. If you haven't used this, it's a nifty tool that automatically creates #Region tags around a selected block of text..."

Pretty cool...

LOL - Nice...

Some people are just to stupid too exist

Made me "laugh-snort"... ;)

Cool Code Site: NetOMatrix

I came across this site while searching for Directory Services code snips, http://www.netomatix.com. It hosts a number of cool .Net code snips and utilities (most with source).

Check out their list of Directory Services code samples;
"How to create a file share using .Net framework
How to add a user to file access permissions
How to get file security information using DirectoryServices
How to get list of groups user is member of
How to get list of domains in Active Directory
How to get members of a windows group.
How to get user SID using DirectoryServices classes
How to add a new user account in your machine or domain?
How to get full name of logged in user.
How to display schema information of Active Directory object using Directory Services in ASP.Net
How to use Active Directory classes in ASP.Net to enumerate AD Users
How to use Active Directory classes in ASP.Net to enumerate AD Groups
How To Enumerate Web Application Directories in IIS Using DirectoryServices"


As for utilities, check out their Depends.Net;
"This is a utility that can hellp you in finisding out if the versions of assemblies you have in bin folder of your application are the same as the ones that the application or assembly was compiled with. We have found this utility to be of great help in large projects where you have lot of assemblies linked to one assembly or application. Here is an example that I will give you from my personal expereince. I was wroking on a project that uses about 20 other assemblies from the solution. Every time I will execute the application, at certain point it will throw an exception at me that the version of assembly X does not match the one that was used to compile the component Y. And as the project started growing this became more and more of a problem. Then I decided to create this utility for our internal use.

This version has very simply UI and usage. As the time goes we will add more functionality to it so that it can become a helpful tool in resolving the conflicts. "


Pretty cool...

Sunday, March 20, 2005

Blogcast - Create a Custom Transform for Office 2003 Deployment

Brian Tucker: Create a Custom Transform for Office 2003 Deployment

"The Office 2003 Resource Kit has a program called the "Custom Installation Wizard". The tool will help you configure a .MST transform file that will give the Office 2003 installation customized answers for all your computers. You can create multiple transforms for laptops, workstations and just about every type of Office deployment you organization needs. The Blogcast shows the basics of the transform creation process. You can then use the installation command line for SMS, Group Policy or any other means you have for deploying applications."

"Watch how to create an answer file that will custom install options for Office 2003. You will need the Office 2003 Resource Kit tools to create the .MST transform file."

Wow. Great timing. I need to deploy Office 2003 to a number of machines in the next couple weeks.

Note to self: Watch this tomorrow

theDailyCommute.com

theDailyCommute.com - PWOP Productions Inc.

"What is The Daily Commute?

Imagine waking up in the morning, grabbing your mp3 player, and on the way to work, listening to people read a personalized set of news headlines, the sources of which you can pick yourself from popular websites like SlashDot, Wired, CNet, or the BBC.

The Daily Commute is just that: a continuous podcast of news headlines and summaries read around the clock.

What makes us special?

You get your own personal podcast! You create your own podcast from various sources like SlashDot, Yahoo News, BBC, and Wired Online. Then pick the categories of story that you're interested in, and we do the rest! You get a custom podcast feed made just for you. When you wake up in the morning, you can listen to the news headlines on your daily commute. When you get to work, you can dive into the details online.

..."


Sounds kind of interesting.

I've not gotten on the podcast wagon yet (I can scan/read faster than I can listen), but I do have a very long commute to work (2.5 to 3.5 hours a day on the road... sigh) so do have some free listening time (and no matter how much I sing along with my CD's I'll never be a rock star ;).

Worth watching to see how it plays out.

RSS Update Feed - Subscribed.

(via Carl Franklin - The Daily Commute is online, but not complete)

Saturday, March 19, 2005

April MSDN Webcast Calendars

April MSDN Webcast calendars are ready

"...
MSDN Webcasts
MSDN Architecture Webcasts
TechNet Webcast Calendar
Security Webcast Calendar
Microsoft Executive Circle Webcast Calendar
Microsoft Business Solutions Webcast Calendar
Microsoft Office System Webcast Calendar
Small Business Webcast Calendar"


The April Microsoft webcast calendars are ready and available in a cool calendar/Doc format. Over 100+ casts are scheduled... (wow).

There are some cool VS 2005 Team System sessions scheduled that I'm looking at. After reading more about it in the April 2005 MSDN magazine, I'm really looking forward to playing with it (I so need a life).


ILMerge Updated

Download details: ILMerge

"ILMerge is a utility that can be used to merge multiple .NET assemblies into a single assembly. ILMerge takes a set of input assemblies and merges them into one target assembly. The first assembly in the list of input assemblies is the primary assembly. When the primary assembly is an executable, then the target assembly is created as an executable with the same entry point as the primary assembly. Also, if the primary assembly has a strong name, and a .snk file is provided, then the target assembly is re-signed with the specified key so that it also has a strong name.

ILMerge is packaged as a console application. But all of its functionality is also available programmatically. ..."


The cool ILMerge (past post) has been updated and is now also available via Microsoft Downloads.

Friday, March 18, 2005

Some Cool VS Tools and Plugins

Morrison Schwartz > Products > SharpTools and Plugins

"Product Name: SharpTools Visual Studio AddIn
Last Update: Mar 17, 2005
License: Freeware
Requirements: Visual Studio .NET
Size: 3049K

SharpTools is an extensible add-in to the Microsoft Visual Studio.NET development environment, and a software development kit (SDK) supporting the rapid development of further extensions which will run within SharpTools. These further extensions to SharpTools are called SharpTool plug-ins. SharpTools also includes several specific plug-ins, implemented to assist programmers in developing, debugging, testing and documenting code developed within the Visual Studio.NET development environment. SharpTools is Visual Studio.NET, made better! ..."


From the guys who brought us the VERY cool MSINC .Net Plugins Library now come their SharpTools and VS Plugins.

These look cool too. And the Bin's are freeware (donations to help keep their site up. pay for bandwidth,etc are gladly accepted). Source is available for a very reasonable fee...

Here are the titles of the things available...

RSS Blog Reader Plugin
Code Library Plugin
DataViewer Plugin
SharpTools Plugin - dbManager
SharpTools Plugin - SqlScripter
SharpTools Plugin - Copy Folder to Project
SharpTools Plugin - API to .NET Mapping
SharpTools Plugin - Screen Capture
SharpTools Plugin - Zip your project files in VS.NET IDE
SharpTools Plugin - Create Strongly-Typed Collections
SharpTools Plugin - Add Copyright Notice
SharpTools Plugin - Search Google from Visual Studio .NET

Check this out for more details on SharpTools.

Downloaded...

VB.NET Coding Guidelines from AddressOf.com

VB.NET Coding Guidelines

"Table of Contents

1. Introduction
2. Style Guidelines
2.1 Tabs and Indenting
2.2 Option Explicit / Option Strict
2.3 Block Formatting
2.4 Single line statements
2.5 Commenting
2.5.1 Copyright notice
2.5.2 Documentation Comments
2.5.3 Comment Style
2.6 Spacing
2.7 Attributes
2.8 Naming
2.9 Naming Conventions
2.9.1 Interop Classes
2.10 File Organization
2.11 Doing things the Visual Basic .NET Way
2.12 Microsoft.VisualBasic.Compatibility
2.13 Other Considerations
2.14 Special Thanks

1. Introduction

First, read the .NET Framework Design Guidelines. These guidelines exist to extend upon those guidelines for the VB.NET developer. Almost all naming conventions, casing rules, etc., are spelled out in this document. Unlike the Design Guidelines document, you should treat this document as a set of suggested guidelines. These guidelines are not to be taken a law and exist to offer guidance for people who do not have guidelines or are seeking improving upon their existing coding habits.

..."

I agree with many/most of the items in this guideline... And it's good to see I'm not the only one in the world who uses 2 spaces for my indents/tab. Four has always seemed to me to bloat the line length too much...

One of the things I don't agree with is the "m_" for private class scoped variables. I just don't like the "_", but so many people use "m_" that I might just have to get over it... sigh.

Still this guide is short, sweat and too the point, making it actually usable. ;)

xp_pcre - Regular Expressions in T-SQL

"An Extended Stored Procedure to use regular expressions in T-SQL.

...

xp_pcre is so named because it uses the "Perl Compatible Regular Expressions" library. This library is available at http://www.pcre.org/. (You don't need to download the PCRE library in order to use xp_pcre. The library is statically linked.)


Overview

There are six extended stored procedures in the DLL:

  • xp_pcre_match
  • xp_pcre_match_count
  • xp_pcre_replace
  • xp_pcre_format
  • xp_pcre_split
  • xp_pcre_show_cache

The parameters of all of these procedures can be CHAR, VARCHAR or TEXT of any SQL Server-supported length. The only exception is the @column_number parameter of xp_pcre_split, which is an INT.


If any required parameters are NULL, no matching will be performed and the output parameter will be set to NULL. (Note: This is different than the previous version which left the parameters unchanged.)



..."


Oh yeah, this could rock. I know some RegEx hero's who might really like this. I've used RegEx just enough to be dangeours and am pretty much hooked too.

Seems kind of funny that I'm finding so many cool Extended Stored Procedures on the eve of SQL 2k5...

Now to see if there's any interest from my DBA's (I know you're reading this you rat... err... um... Great guys, all and one... That's my story and I'm sticking with it :)

(Via the always outstanding Larkware - The Daily Grind 582)

Introducing Custom Entity Classes

ASP.NET Home: On the Way to Mastering ASP.NET: Introducing Custom Entity Classes

"There are situations for which untyped DataSets may not be the best solution for data manipulation. The goal of this guide is to explore an alternative to DataSets: custom entities and collections. ..."

Nice article on using domain objects/custom entities instead of directly using datasets.

It all depends on the project/needs but I like domain objects. My current project is heavily based on domain objects and I've not regreted it.

The one issue that you might have with domain objects is future enhancements. I mean if you hard code an objects properties, what happens if you have to add one? Lots of coding...

While there will always be coding needed (thank god), there are ways to limit that with a flexible design. (I'd like to talk about details but need to check with the powers that be so I don't violate my IP contract... sigh).

Anyway it looks like this article covers the major areas, including lazy loading (something I don't yet do, but will...), concurrency, .Net 2.0, etc.

Adding to my "read in detail" list...

(Via Tom van de Kerkhof's bloggings - Interesting MSDN Article: Introducing Custom Entity Classes)

Thursday, March 17, 2005

DBDocumenter CodeSmith Templates

DBDocumenter CodeSmith Templates

"DBDocumenter CodeSmith Templates

DBDocumenter is a set of CodeSmith templates that are used to generate full HTML documentation on a target database. This set of templates is designed to scale well with a database with hundreds of objects, and be easy to run. These templates generate the following:

General information returned from "xp_msver"
Table information
Stored Procedures information, including the sproc's actual body text
View information, including the view's body text

This set of templates includes:
General target system information
Table information
Stored Procedures information, including the sproc's actual body text
View information, including the view's body text
Full syntax highlighting on the sproc and view body text
Managable navigation via iframes for sizable databases.
Easy configuration via an XML file
One-click generation of the documentation

..."


Nice... If you have to provide DB documentation, this might be worth looking at.

Check out the demo here.

(via Steve Eichert - DBDocumenter CodeSmith Templates)

Code.Google.com

Code.Google.com: new open source

"We're very happy to be launching code.google.com today. To begin, we're releasing some developer-oriented libraries and tools. Google developers use these every day to make their programs easier to debug, faster, and more reliable. A number of engineers have used their 20% time to ready these tools for release, and will also help build the communities we hope will form around them.

We're also featuring links to all current Google APIs. Come check them out and if you'd like more information, please join our group, subscribe to our feeds, or if you're shy, email us directly. And happy coding!"


Now that's cool...

It's nice to have many of the Google API's listed/available from one place.

VBCommenter 1.2.5 Released

VBCommenter 1.2.5 FINAL released

"Anyone who is using VB.NET and wished for support for XML comment generation (NDoc, anyone?) should be using VBCommenter. As I found myself in that very situation over the last few months, I've made some fairly major improvements to the VBCommenter add-in, and have wrapped up a new release. ..."

If your using the very cool VBCommenter, a new version is now out...

UPX: the Ultimate Packer for eXecutables [How to save space on your Thumb/Pen/USB Drive]

UPX: the Ultimate Packer for eXecutables - Homepage

"UPX is a free, portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers very fast decompression. Your executables suffer no memory overhead or other drawbacks because of in-place decompression ..."

As a follow-up to my Directory of Programs for USB Drives post I came across the UPX utility (via a comment on the original post referring to What's on my Pen Drive?).

UPX sounds pretty interesting. I still have 100MB free on my thumb/pen/USB drive, but I can see it filling quickly... 40'ish percent saved space... Yes, interesting.

For real world space saving results with UPX, see What's on my Pen Drive? (scroll down toward the bottom).

SQL Server 2005 & RSS Feed Integration

RSS feed integration

"I (and others on my team, notably Donald Farmer) tend to do a demo showing data from RSS feeds being processed in the SSIS (SQL Server Integration Services) data flow pipeline. I have been asked by quite a few people to post a sample package showing how to incorporate RSS data.

Turns out that it is quite easy to include data from a RSS feed. Try the following:

1. Start a new SSIS project
2. Add a Data Flow Task
3. Switch to the Data Flow tab by double clicking the Data Flow task
4. Add a XML Source to the data flow
5. Double click the XML Source to edit it
6. In the XML Source Editor, in the “Connection Manager” portion, make sure that the “XML File Location” is selected in the Data access mode. In the XML location text box, type in the url for a RSS feed (e.g., http://news.com.com/2547-1_3-0-5.xml)
7. Click the “Generate XSD...” button, give the XSD file a name and save it. Make sure that it is correctly reflected in the XSD location text box.
8. Click “Columns” in the list on the left hand side. If all goes well you should see the available columns from various outputs from the RSS feed.
9. Select “item” from the Output Name dropdown box.
10. Click “OK” to close the XML Source Editor.

Now you are ready to consume the RSS data. ..."


[Content leached so I can easily find it in the future... I'm always afraid that if I just link to it, the original article might go away before I can get back to looking at this...]

It's pretty cool to see how easy it is to integrate RSS feeds, or any XML data source, into SSIS. Man I can think of some cool things to do with this. The first that comes to mind is a cheese Bloglines like service for internal RSS feeds.

Without playing with this (yet) the one concern I have is how well this would work as an ongoing task. i.e. every hour or so... How well will existing/previously retrieved items in the feed are handled, etc. But even if not auto-magically handled I can think of a couple ways to deal with that.

In any case it's a far step beyond the features available in SQL Server 2k...

Wednesday, March 16, 2005

PDC pre-conference: 1 day, or 2?

PDC pre-conference: 1 day, or 2?

Jeremy Mazner asks the PDC attending public (you are going aren't you?) what we think about 1 vs 2 days of pre-conference all day sessions...

While I think more is better when it comes to cool development conferences (of which PDC is #1 in my book), Jeremy points out is that Conference day -2 is 9/11... (which also falls on a Sunday this year).

So I commented/voted for 1 pre-conference day. I want to spend 9/11 with my family. It just wouldn't feel right otherwise...

Let Jeremy know what you think here.

Tuesday, March 15, 2005

The BlogCast Repository

The BlogCast Repository - A Microsoft Community Resource

Now this is an interesting site... It bills itself as "The Central Vault for Free Technical Videos".

There are 19 videos posted as of this writing (17 of them SMS related).

What I find cool is that this is a community project. i.e. They provide instructions so YOU can create and upload your own blogcast.

Subscribed...

A Directory Of Programs Designed For USB Drives

Jeremy Wagstaff's LOOSE wire: A Directory Of Programs Designed For USB Drives

Jeremy Wagstaff has a cool post on/directory of programs designed for USB drives...

"...


..."


[Content leached so I'll be able to easily find them in the future...]

Seeing that I got my first USB/Thumbdrive yesterday (yeah, I know...) the timing couldn't be better.

Of course, SysInternal's utilities is also a must have.

Keep checking Jeremy's blog as I'm sure his list will be growing...

Monday, March 14, 2005

DPack 2.0 is live

USysWare Blog - DPack 2.0 is live

"DPack 2.0 is live
After several months of development DPack 2.0 has been finally released. Here's a list of changes in v2.0 since v1.x:


  • Numbered Bookmarks feature has been reworked from the ground up. Some of the highlights of this feature include custom bookmark images, automatic bookmarks persistence, an ability to clear all bookmarks, and more...

  • It introduces new feature called Solution Statistics. Solution Statistics collects information on all projects in the currently opened solution. Once statistics is collected, it's displayed in the solution statistics dialog.

  • Another new feature included is called Support Help Options. Among other things, it adds a new command that allows one to 'Check for Updates'.

  • Due to conversion from multiple add-ins to a single VSIP package, new version enjoys some performance improvements.

  • Numerous bug fixes and usability enhancements.

  • It works for users without administrator privileges now.

  • Whidbey support is included.
..."

http://www.usysware.com/dpack/
"DPack is a FREE collection of Microsoft Visual Studio .NET 2003 and 2005 tools. DPack is designed to greatly increase developer's productivity, automate repetitive processes and expand upon some of the Visual Studio features.

DPack includes various browser tools that allow the developer to quickly narrow the search down to a particular class, method or assembly type. DPack includes greatly enhanced numbered bookmarks feature, various code navigation tools as well streamlined surround with feature, and much more. See screenshots and learn more about individual features:



  • Code Browser

  • File Browser

  • Framework Browser

  • Numbered Bookmarks

  • Surround With

  • Code Navigation

  • Solution Statistics

  • Support Help Options

  • DPack Keyboard Mapping Scheme

  • Delphi Keyboard Mapping Scheme
..."


Download it here

Buy your Moon Property While It's Hot...

Lunar Federation Inc.7 Sending Manned Mission to the Moon

"Pensacola, FL (PRWEB) March 14, 2005 -- The Lunar Federation is sending the first colonization mission to the Moon that is set to take place in 2050. To fund the first colonization mission, the Lunar Federation is selling Land on the Moon and Mars. Over 2 Million acres have already been issued and sales are skyrocketing. ..."

http://www.lunarinvestmentproperty.com/Moon_Land.htm

Buy your Moon acre for 39.95 (and get additional acres for only 29.95/acre).

I might just have to buy a couple... :|

Sunday, March 13, 2005

Tips for a Successful Technical Presentation

Tips for a Successful Technical Presentation

Kirk has posted a number great technical presentation tips.

For example,
"Make Every Second Count
Don't start sentences with "So". It is annoying.
Don't say "um". It adds no value to the point you are trying to make. ..."


I do both of those all the time, and while I try to catch myself, well... well you know it's bad when you start to irritate yourself with your own speech patterns... :|

Before my next presentation I want to review this list and try to continue to do the good things I already do, and remind myself to avoid the bad ones. (Yeah, I know... "Dugh"... I've not had my coffee yet this morning ;)

The Coding Slave Has a Microsoft Interview...

Coding Slave: The Blog: Q: When is the last time you behaved cowardly?

"Q: When is the last time you behaved cowardly?
A: During my recent employment interview at Microsoft.

About three weeks ago I was busy slinging code at my LA Weekly gig. My cell phone rang. It was a Recruiter from Microsoft. He asked me if I would consider working for the company. I said, maybe. He asked what I would be interested in doing. I said some sort of road show stuff, that I have been coding in a chair for about a year and that I might like to get out and work with other developers. He said that the company had a Developer Evangelist position open in Southern California that might be of interest to me. ..."


A great article of a fellow LA developer's Microsoft interview.

I walked away with a reinforced feeling that no matter where you go, no matter who you are with, you have to be you.

Good advice.

Saturday, March 12, 2005

RSS.NET: An open-source .NET class library for RSS feeds

RSS.NET: An open-source .NET class library for RSS feeds

"What is RSS.NET?
RSS.NET is an open-source .NET class library for RSS feeds. It provides a reusable object model for parsing and writing RSS feeds. It is fully compatible with RSS versions 0.90, 0.91, 0.92, and 2.0.1, implementing all constructs.

Who can use RSS.NET?
Commercial, internal, open-source and all other developers can use RSS.NET ..."


Cool...

This is a C# project for reading and writing RSS feeds. It seems to be a professionally developed project, with online help, code samples (in C# and VB.Net) and source is available.

The only issue I see is that the code is a little old. In the Nightly source tarbar, the newest file date is 5/20/2004. The Project's SourceForge site does have some recent activity, so it's not totally dead. Also given the source is available it will never be totally dead will it?

Downloaded.

Friday, March 11, 2005

Some Cool .Net Things from Jeff Key

.net stuff

I came across this site during my blog travels. Jeff Key has a number of cool .Net "things" on his http://sliver.com/dotnet/index.aspx site.

Included are articles, code snips, assemblies, etc, many with source. Below are just a few of them.

MessageDialog
A message box with custom buttons. Easily add new buttons as needed.

NCover Browser
An alternative view of the standard NCover XML report.

XmlDocViewer
An alternative to the IE XML viewer.

Ruler
A graphical ruler.

Temp File Manager
This class creates a temp folder for your temp files, gives you unique filenames in that folder, then cleans up those files.

Retrieving file system icons
Code snip calling SHGetFileInfo.

Thursday, March 10, 2005

UABv2 - Updater Application Block version 2.0

Download details: UABv2

"Updater Application Block, version 2.0 is a reusable and extensible source code-based guidance, to shows how to add self updating capabilities to .NET-based smart client solutions.

The Updater Application Block is a .NET Framework component that you can use to detect, download, and apply client application updates deployed in a central location. By using the Updater Application Block, you can keep smart client applications up to date with little or no user intervention. You can also extend the Updater Application Block to use custom classes for downloading files and for performing post-deployment configuration tasks."


Cool. The UAB has officially rev'ed to 2.0...

Tools for Creating ISO images from CD, Creating Bootable CD's and Virtual Floppy Disks

Tools for Creating ISO images from CD, Creating Bootable CD's and Virtual Floppy Disks

"Many of you have been asking how you can create ISO images from CD's, Virtual Floppy Images from floppy disks and create you own bootable CD's....

Tools for creating ISO images from a CD:
Tools for burning ISO Images to CD/DVD:
Tools for creating Floppy Images for Virtual PC / Server (.vfd):

..."


A number of ISO and VFD tools (commercial & free). The only category missing is ISO Mount utilities (like Daemon Tools, etc).

Microsoft to Buy Groove Networks

Microsoft to Buy Groove Networks

"SEATTLE (AP) -- Microsoft Corp. said Thursday it was acquiring leading collaboration software company Groove Networks Inc., and naming its founder, Ray Ozzie, as Microsoft's chief technical officer.
Financial terms of the acquisition weren't immediately disclosed.

Ozzie, a creator of Lotus Notes, will report directly to Microsoft Chairman Bill Gates and continue his work with the Groove team. ..."


Very cool. I've been watching Groove since it came out, played with early beta's etc... Now hopefully it will get a wider audience.

Like Avery says, let's hope we see it on MSDN after the deal closes in the 2nd Quarter.... :)

(via .Avery Blog - Microsoft to Buy Groove Networks)

Building Web Parts the Smart Way: Starting with the SharePoint SmartPart

Microsoft Belgie & Luxemburg - MSDN - Building Web Parts the Smart Way: Starting with the SharePoint SmartPart

"Building web parts is one of the main extensibility points when you work within a Windows SharePoint Services environment. The development steps of building SharePoint web parts is well-documented in books, in the Windows SharePoint Services SDK and in a whole set of articles, tutorials and walkthroughs available from the SharePoint community or from Microsoft directly itself. One of the major disadvantages of following the traditional web part development steps is that building web parts this way requires extensive coding with respect to the UI you want to provide within the web part. At the time of writing, there is no designer available for developers to create the body of a web part in a very WYSIWYG manner.

This article describes another approach to building SharePoint web parts. The approach consists of making use of ASP.NET user controls to make up the body of the SharePoint web part. The technique leads to a dramatic increase in the productivity of anybody creating web parts. The article 'Building Web Parts for Windows SharePoint Services - Part II : Web Parts and User Controls' published here on the Belux MSDN site last year describes the basic steps. The idea of using ASP.NET user controls in web part development received a lot of adoption in the SharePoint community and has evolved in a generic framework called the SmartPart. In this article we will highlight what the SmartPart is and how to use it when involved in SharePoint web part development. ..."


A very nice article on creating SharePoint web parts using the very cool SmartPart.

This article is a start to finish tutorial. Starting with a little info about the SmartPart,downloading,installing, using and then all the way through creating your own Web Part with it...

One thing that I found is that the URL in the article to download the SmartPart doesn't seem to point to the right place. Here's a working URL,
GotDotNet: SmartPart for SharePoint: Home

Wednesday, March 09, 2005

Enterprise Library Logging : Rolling Flat File Sink

GotDotNet User Sample: Enterprise Library Logging : Rolling Flat File Sink

"This Logging extension provides rolling over of log files based on criteria such as file size, minutes and days and number of files to keep. "

Sounds like a cool extension for the Logging Enterprise Library block.

In some cases, I like local file logging. I've written a couple, using file count roll-over. I'm glad I won't have to re-invent the wheel...

VSS to Team System Conversion/Migration

AkashMaheshwari's WebLog - Article Categories

Akash has posted a couple articles on converting/migrating from VSS to Team System, which is info I'll need since I plan on moving to TS as soon as it ships, if not before...

Walkthrough: Preparing to Migrate from Visual SourceSafe to Team
Walkthrough: Migrating from Visual SourceSafe to Team Foundation

(via Buck Hodges - Visual SourceSafe to Team Foundation Walkthrough

Check access permissions on shares [NTFS Permissions vs Share Permissions]

Check access permissions on shares

"...With permission sets often overlapping between shares and NTFS, permission problems can sometimes be tricky to track down. In an effort to provide some simplicity while still maintaining some semblance of security, some organizations just provide Full Access permissions for shares and limit individual NTFS permissions.

Organizations that aren't comfortable with this approach need tools to help them along the way. One of the tools from the Windows Server 2003 Resource Kit, Server Share Check, can help in these efforts.

Server Share Check lists all shares from a specified server. It also enumerates the users and groups that have access as well as the level of access that each has.

Server Share Check also works on Windows 2000 and Windows XP machines. You can download the Windows Server 2003 Resource Kit from Microsoft's Web site. The filename is Srvcheck.exe.

..."


Missed this Resource Kit utility in the past...

I've been in the NTFS vs Share permission boat before and have seen the fall-back to Share = Full Access too many times. Or much worse the opposite, permissions are controlled at the Share and Everybody has full NTFS permissions... shudder.

Added to toolkit.

Monoppix Video Tutorials

markdotnet

Five Monoppix video tutorials...

"How to boot Monoppix in Virtual PC 2004
Creating "Hello World" by using Monodevelop
Running "Hello World" under Linux and Windows
GUI Application with several controls
SQL Server connectivity in a GUI Application "


I'll be keeping an eye on the Mark Neustadt's markdotnet blog going forward...

(via http://www.monoppix.com/tutorials.php)

PDFCreator [PDF Printer Driver]

SourceForge.net: Project Info - PDFCreator

I want to check this open source PDF Printer Driver out...

It is ghostscript based, so has a very solid base, but might not be perfect (what do I want for free?).

Still, compared to the price of a number of Acrobat licenses just to get a PDF Printer driver, this might make sense.

(via PDF for Lawyers - Legal Services case study: Electronic Case File & the Open Source Solution for PDF Generation

Tuesday, March 08, 2005

An Open Letter to U.S. Secretary of State Condoleezza Rice [From Canada with Love...]

The Winnipeg Free Press - View from the West

"Dear Condi,
I'm glad you've decided to get over your fit of pique and venture north to visit your closest neighbour. It's a chance to learn a thing or two. Maybe more.

I know it seems improbable to your divinely guided master in the White House that mere mortals might disagree with participating in a missile-defence system that has failed in its last three tests, even though the tests themselves were carefully rigged to show results. ..."

Gee, sounds like someone has an issue. ...?