Monday, January 31, 2005

RFC 3994:Indication of Message Composition for Instant Messaging

RFC 3994: Indication of Message Composition for Instant Messaging, H. Schulzrinne

"Status of This Memo

This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (2005).

Abstract

In instant messaging (IM) systems, it is useful to know during an IM
conversation whether the other party is composing a message; e.g.,
typing or recording an audio message. This document defines a new
status message content type and XML namespace that conveys
information about a message being composed. The status message can
indicate the composition of a message of any type, including text,
voice, or video. The status messages are delivered to the instant
messaging recipient in the same manner as the instant messages
themselves.

..."


Now I'm all for standards, but a RFC for this? :|

Cubicle Mines

cubicle mines - hack a day - www.hackaday.com:

"it's officialy monday again. another week of mindless drudgery and stolen red staplers. if going postal with a nerf gun isn't your bag, perhaps something more subtle such as this mini claymore mine would be more appropriate. you can make one from common materials found in your desk drawer and a strech of scotch tape provides a functional and decorative trip wire. yeah, probably a really bad idea but a great hack nonetheless."

Yeah, probably a bad idea... sigh

But for those of you [additional comments deleted] who keep stealing my pens and post-its, you better keep your eyes open!

:|

Using AI to beat CAPTCHA

Using AI to beat CAPTCHA...

Interesting post on ways to beat simple CAPTCHA used to protect many blogs against comment spamming.

It's insipred a minor flamewar, as you might expect.

(via Julia Lerman Blog - Don't Be Iffy... - Mad Genius at work

Sunday, January 30, 2005

Updater Application Block V2

patterns & practices: Updater Application Block: News item

"This current release of the Updater V2.0 is the Feature Complete community drop. This includes the source code for the block, 4 quick starts and the design document.

We have refactored the design and code considerably from the last release. We have added three new quick starts bringing the number of quick starts to a total of four. We have added several new post processors that could be invoked as part of the activation.

Please the read FeatureComplete_UABv2.ReadMe.doc in FeatureComplete_UABv2.zip (downloadable from the Releases section), for step-by-step details to run the quickstart and to get an understanding about the overall design of UAB v2. "


This latest Updater block also ties into/has a dependency with the new Enterprise Library.

In the past I've looked at this and the App Updater Component and went with the component due to its simpler implementation. But with this new Block it might be time to take a second look...

.NET User interface for Tracking down managed memory leaks

.NET User interface for Tracking down managed memory leaks

An interesting .Net UI for hunting down memory leaks... Also included are some links to other posts on detecting .Net memory leaks.

Bin and source are both available...

Saturday, January 29, 2005

Automated transcription of WAV files in .NET using Microsoft Speech API (SAPI)

Automated transcription of WAV files in .NET using Microsoft Speach API (SAPI)

Interesting VB.Net code snip that uses Microsoft Speech SDK, SAPI 5.1's speech recognition on a wave file.

Interested in "OCR" for wave files, I played with this a little last night. I've only been playing with it a little, but in very short order I was able to take a wave file, where I recorded myself reading the Declaration of Independence and then convert that to text (with position marks).

It's no where near perfect (eyeballing the text file, I'd say 70-80% accuracy). But it IS free.

I'm thinking it might be used to triage voice files prior to sending them for professional transcription. Given the costs of profession transcription, the more focused you are in using such a service, the better…

I'm still in the very early phase of investigating this tech and am only doing it with spare cycles... One thing I'm not happy with yet is how well it handles low sampling level wav files (i.e. like a voice mail converted to wav). Taking my sample and lowering is level from 22khz to 8 destroyed the accruacy... It was still clearly understandable, but SAPI didn't like it... So more research (cause I could be doing something stupid too)...

Even in the best circumstances, if you've played with the dictation feature in Office2k3/XP you'll know there's only so much you can expect.

Friday, January 28, 2005

Gizmodo : Toto's MP3 Playing Toilet

Gizmodo : Toto's MP3 Playing Toilet

"It's not wrong to love a toilet company, I promise. Toto continues to innovate in the john, with a brand-new model that includes an MP3 player that loads songs from swappable SD cards. It appears to be an optional accessory for Toto's new models, which also include built-in air fresheners and other civilized accouterments."

If it's self-cleaning then I'm sold...

Download details: Enterprise Library

Download details: Enterprise Library

"patterns & practices Enterprise Library
January 2005
This release of Enterprise Library includes: Caching Application Block, Configuration Application Block, Cryptography Application Block, Data Access Application Block, Exception Handling Application Block, Logging & Instrumentation Application Block, and Security Application Block.

Overview
The patterns & practices Enterprise Library is a library of Application Blocks designed to assist developers with common enterprise development challenges. Application Blocks are a type of guidance, provided as source code, that can be used as-is, extended or modified by developers for use on enterprise development projects. Enterprise Library features new and updated versions of application blocks that were previously available as stand-alone blocks. All blocks included in Enterprise Library have been updated with a particular focus on consistency, extensibility, ease of use and integration."


As you'll read everywhere in the MS blog-sphere, the MS Enterprise Library is now available...

Fiddler PowerToy - Part 1: HTTP Debugging

Fiddler PowerToy - Part 1: HTTP Debugging

"Introduction
Have you ever found yourself wondering how Microsoft Internet Explorer interacts with your Web application? Have you encountered a strange performance bottleneck that you can't track down? Are you curious about which cookies are being sent, or what downloaded content is marked as cacheable?

Microsoft Fiddler can help you answer these questions, and many more. Fiddler is an HTTP debugging proxy that logs all HTTP traffic between your computer and the Internet. Fiddler enables you to inspect all HTTP traffic, set breakpoints, and "fiddle" with incoming or outgoing data. Fiddler is much simpler to use than NetMon or other network debuggers because it exposes only HTTP traffic and does so in a user-friendly format.

Fiddler includes a simple but powerful Microsoft JScript .NET event-based scripting subsystem flexible enough to support a broad array of HTTP debugging tasks. Written in C# on the Microsoft .NET Framework, Fiddler is available as an unsupported PowerToy for Internet Explorer.

..."


MSDN has just published this article on the very cool tool called Fiddler. Since I found it (http://coolthingoftheday.blogspot.com/2004/04/fiddler-http-debugger-fiddler.html), Fiddler has earned its place in my "must have" tool set.

(via IEBlog - Http Debugging with Fiddler

Nice, Free Resources

Nice, Free Resources

"...

www.zoneedit.com: This allows you to create and manage up to 5 DNS zones for free. I have had some zones with them for a little over a year now with no downtime.

www.cacert.org: This site will let you create SSL certs for free. Unfortunetly, the root chains arent included with popular browsers, but it is an alternative solution to just creating the cert yourself.

..."


A couple interesting free resources...

ISBN Validator

Altair Software Production

"This software is validation control for ASP.NET applications. Provides standard way to validate if user entered correct ISBN (International Standard Book Number). Can handle both ISBN-10 and new ISBN-13 format (more info about these formats may be found at www.isbn.org)."

Something I might be able to use for my Bookshelf project.

Thursday, January 27, 2005

Addison-Wesley Articles and Sample Chapters

Articles

993 articles and sample book chapers from Addison-Wesley.

Here are just the first ten...

"1. Fearless Change: Where Do You Start?
By Mary Lynn Manns, Linda Rising
Jan 21, 2005

2. Installing and Configuring SQL Server Reporting Services
By William Vaughn, Peter Blackburn
Jan 21, 2005

3. Organizations and Change
By Mary Lynn Manns, Linda Rising
Jan 21, 2005

4. Overview of OpenBSD
By Brandon Palmer, Jose Nazario
Jan 21, 2005

5. User Interface Design and the Importance of Color for .NET Database Systems
By Rebecca M. Riordan
Jan 21, 2005

6. Using Eclipse AspectJ: Your First Steps
By Andy Clement, Adrian Colyer, George Harley, Matthew Webster
Jan 21, 2005

7. Building the Foundations for a Highly Available Windows Server Architecture
By Jeffrey Shapiro, Marcin Policht
Jan 14, 2005

8. Introduction to Troubleshooting Linux Firewalls
By Scott Shinn, Michael Shinn
Jan 14, 2005

9. J2EE Schema Management with Hibernate
By Will Iverson
Jan 14, 2005

10. Introduction to SOA with Web Services
By Greg Lomow, Eric Newcomer
Jan 7, 2005 "


Generally tons of reading and a nice way to check out a title prior to purchase.

On a similar note, I might have to buy this soon, Unicode Architecture: Not Just a Pile of Code Charts.

(via Ohad's WebLog - Addison Wesley's Free Chapters and Articles

ClickOnce - Everything you ever wanted to know about

ClickOnce - Everything you ever wanted to know about

The title says it all... This post has a number of ClickOnce links.

.NETiT - Open Source/Java Projects Ported to .Net

.NETiT - Home Page

".NETiT is a repository for Open Source projects that have been ported to Microsoft .NET.

Released
jCollections - GNU Classpath 0.6.0 Collections Package
jNaming - GNU Classpath 0.6.0 Naming Package
ORO.NET - Apache Jakarta ORO 2.0.8 Text-Processing Package
Regexp.NET - Apache Jakarta Regexp 1.3.0 Regular Expression Package
Xalan.NET - Apache Xalan 2.5.2 XSLT Processor
Xerces.NET - Apache Xerces 2.6.0 XML Parser

Scheduled
jSecurity - GNU Classpath 0.6.0 Security Package
Crypto.NET - GNU Crypto 1.1.0 Package
Jessie.NET - GNU Jssie 0.9.5 Package, clean-room implementation of Java Secure Sockets Extension (JSSE)

Being Considered
jClasspath - GNU Classpath, a clean-room implementation of Java class libraries
jTools - GNU Classpath Tools

..."

Cool ...

Nice that .Net can build on Java's open source existing knowledge foundation.

(Ohad's WebLog - NETiT - Open Source projects that have been ported to .NET

Wednesday, January 26, 2005

William H Gate's Blog

William H Gate's Blog

Yes, THAT William H. Gates.

It looks real and doesn't appear to be a hoax. But then again I have to wonder...

I'm sure time will tell.

(via IPattern.com (Maxim V. Karpov) - Sir Bill W. Gate is blogging!)

UPDATE via IPatten.com: Time did tell. Site is offline now...

Very Nice Microsoft Certification Plan

The road to Microsoft certifications

"Part of my new job includes getting at least a MCP. The road I am interested in is architecture and there is no certification offering from Microsoft as yet. So, I am designing my own based on existing certifications. If I mapped it correctly I will pick up the following certs, in order, over the next 10-12 months:

MCP
MCAD
MCSD
MCDBA
MCSA
MCSE

Seems pretty aggressive! After all, you need to take the following number of exams: MCP=1, MCAD=3, MCSD=5, MCDBA=4, MCSA=4, MCSE=7. That's 24 exams! Let's slow down a bit. Betcha I can do it in 12 tests. Here's how

..."


Very nice MS Certification plan... With all the cert's I'd like to get one day.

Maybe this is my Cert year? :|

Memtest86+ - Advanced Memory Diagnostic Tool

Memtest86+ - Advanced Memory Diagnostic Tool

"... The first version of Memtest86+ was released on early 2004, based on memtest86 v3.0 that was not updated since mid-2002. Our main challenge was to provide an up-to-date version of this useful tool, as reliable than the original. Our work started when we got the first AMD64 system. Unfortunatly, the original memtest v3.0 didn't run at all. After looking at the source code, we fixed the bug.After some days, I saw lot of other things like chipsets or CPU that were not correctly detected or not detected at all. As I'm the chief-editor of a french hardware website (www.x86-secret.com), I have access to lot of recent hardware and I can test and debug on quite all available motherboards on the market. After adding detection for all current CPUs, I've added detection for all current chipsets (SiS, VIA, nVidia, Intel) and ECC Polling for AMD64, i875P and E7205. Then, I decided to display some useful settings for the most popular chipsets. For exemple, on i865PE/i875P series, memtest86+ will now display FSB & Memory frequency, PAT status, memory timings, ECC status and the number of memory channels. Next version will perhaps contain several enhancements and bug-fixes. ..."

A cool open source memory test utility that you can use via a bootable CD or USB Stick/ThumbDrive...

(via l'XPditif... Le weblog Bleu-Blanc-Belge qui décoince - Nouvelle version de MemTest)

CodeSmith Template Resource

Template Share :: CodeSmith Support Forum

Ton's-o-Templates... Another cool CodeSmith resource.

Larkware - The Daily Grind 545

GotDotNet User Sample: AppUpdater Extended

GotDotNet User Sample: AppUpdater Extended

"I extended the AppUpdater.dll to support the use of a fileserver or simply any drive or folder, on top of the available WebServer support. All settings (polling rate, etc.) are now stored in an .ini file and can be changed dynamically inside the main application with one simple statement. The whole process has extensive logging that may be enabled by a simple setting in the ini file. Not all functions of the dll have been tested though: for instance, the handling of strongly named updates has to be tested yet. Oh yes, I ported the source to VB... It's worthwhile to have a look at how event raising between threads is handled."

I've used the original AppUpdater component in a number internal apps and it does the job quite well. Nice to see it extended in this way.

The Code Project - Distributed Command Pattern

The Code Project - Distributed Command Pattern - an extension of command pattern for connected systems - C# Programming

"Distributed Command Pattern is a pattern for connected systems which implements command pattern. It frees designers from thinking about the communication and helps them concentrate on implementing commands as if it is a regular desktop application. The framework takes care of the communication.

...

Distributed Command Pattern is a proposed pattern for solving the extra architectural design issues which need to be considered for connected systems than designing regular applications. The goal of this pattern is to “Have the same design for both standalone and connected systems”. This pattern allows developers to concentrate on designing a regular application following the Command Pattern [Gamma 1995] without ever thinking that this application is going to connect with other systems. This pattern frees a developer from thinking about the transport and communication protocol while designing the commands, and keeps the architecture simple. Designers need not worry about how to send necessary data to the server when some command gets executed and how to process received data from the server and then reflect on the UI of the connected applications. When a command gets executed locally on one running application, distributed design pattern takes care of the hurdles of executing the same command in all connected systems simultaneously in order to keep them in the same state. From a designer’s point of view, the architecture remains as simple as a regular desktop application designed using regular command pattern having no network awareness, yet it performs all the necessary communications in order to execute the commands on all connected applications as if the command has been invoked internally.

... "


Added to my Read This folder...

I want to take a much closer look at this. I need to build a highly distrubuted and scaleable processing system (i.e. everything runs on 1 machine or is spread across 150+...) for the next rev of a work system and really don't want to reinvent.

Tuesday, January 25, 2005

The Code Project - Introduction to Mono - Your first Mono app

The Code Project - Introduction to Mono - Your first Mono app - Cross Platform

"Introduction to Mono - Your first Mono app
By Brian Delahunty

The first in a series of articles about Mono. This article explains how to install Mono and shows how to compile your first Cross Platform application.

..."


Cool article on getting up and running with Mono on Windows/Linux (which can be a pain sometimes) and writing your first Mono app ("Hello world" of course... :)

woot - CubeSmart CubeDoor

woot_detail



"If you could buy this and then turn in your TPS report - that'd be greeeeaaaat.

$19.99 + $5 Shipping and Handling

If your co-workers are anything like ours, it's probably easy for you to drift off into periods of reverie, daydreaming that you're pushing them down the fire stairs, or slamming the copier lid on their heads over and over and over and over and over.

Man, listen to that guy at the next desk trying to give out a URL over the phone.

...tactfully let the rest of your fellow office monkeys know you’re too busy to gab—by retreating behind your Cube Door. Take note: this is no crappy cardboard cut-out cube curtain! No, it’s made from NanoWeave, whatever that is.

Also included at no additional cost to you is one (1) Iomega Zip Monitor Mirror so you can keep an eye on those creeps alongside whom you labor. (Smile in your face, all the time they want to take your place.) Just like you check the side mirror before you open a car door, you are advised to check this Monitor Mirror before you open a porn window.

Features:
When closed, co-workers can still see you, but the “BUSY” message is clear.
Takes just seconds to install, and starts working immediately
Made from NanoWeave™
Coverage area 40” wide x 36” tall
Metal roller frame/housing
..."


I SO need one of these. I just wish it including soundproofing

:|

OpenTTD 0.3.6 Released

OpenTTD

"Tuesday, January 25th 2005 01:24 GMTOpenTTD 0.3.6 Released!

The OpenTTD team is proud to announce version 0.3.6 of OpenTTD merely a month since 0.3.5 was released. A ton of fixes and new features so enjoy!"


Open TDD is a cool open source implementation of Transportation Tycoon Deluxe that I've been playing for a while.

Recently it seems to have become more active with the release's coming quite often.

If you liked TTD, you should check this out...

ieSpell - Spell Checker add-on for Internet Explorer - v2.1.1 (build 325) released! 01/22/2005

ieSpell - Spell Checker add-on for Internet Explorer

"ieSpell v2.1.1 (build 325) released! 22/01/2005

This minor update contains the following fixes and new features:
Previously, the support for ShowModalDialog only works if the referenced HTML contains full markup (i.e. enclosing tags). In the new implementation, ShowModalDialog can take _any_ HTML elements.
Fixed bug where ieSpell may miss spelling errors when a sentence has line breaks but without preceding spaces in them. (very rare)
Added support for HTMLArea2 (a freeware HTML rich text editor)
Added support for ignoring words with underscore in them.

..."


An update for the VERY cool IESpell utility has been recently released...

Monday, January 24, 2005

Gizmodo : BEX-1 Earthquake Shelter Bed

Gizmodo : BEX-1 Earthquake Shelter Bed

Living in Southern California I find this bed intersting...

New/updated Icon Sets with Visual Studio 2005

New/updated Icon Sets with Visual Studio 2005

"Visual Studio installs with a collection of bitmaps, cursors, icons, metafiles, and videos to assist developers with Windows and Web application development. The collection of image resources from various Microsoft products has accumulated over time, and we've heard clearly from our customers that the old outdated elements are essentially unusable and what they need is a library of updated, current images for use in their new applications!
...
To answer this need, we have defined and organized a new image resource collection to be shipped with Visual Studio 2005. In Visual Studio 2005 Beta2, customers will see over 600 images in .bmp and .ico format, including the most common actions and elements found Windows, Office and Visual Studio UI. In the RTM version, we will additionally extend the library to include web format (.gif) for our users who would appreciate a smaller size for their web applications.

... "


Some great news via Julia Lerman's blog...

When you're graphaiclly challenged like I am this really is good news. And it's nice to see MS take this step to update the collection [personal comments about how it's about time deleted].

:)

(via Julia Lerman Blog - Don't Be Iffy... - New Icons to be included with VS2005

Roman's Weekly SQL Server Tip - Better way of sending email from SQL Server (XPSMTP)

Roman's Weekly SQL Server Tip - Better way of sending email from SQL Server

"If you've ever used SQL Mail to send email messages from T-SQL, you probably know how painful it is to get the whole thing up and running. One of the reasons is that both SQL Mail and SQL Agent Mail rely on MAPI, forcing you to go through a complicated setup process, including having to install Outlook on the SQL Server machine and creating an Exchange profile. Another problem is that MAPI is not reliable on SQL Server clusters and this scenario is actually not supported by Microsoft."

Yeah, I've disliked MS SQL's email feature for forever... the most reliable email system I've used is to use a command line program (blat) to send emails. And that's just doesn't feel right.

"...I recently discovered that Gert Drapers, a member of the SQL Server team, wrote an extended stored procedure called xp_smtp_sendmail that allows you to easily send SMTP mail from T-SQL code. You can use it with both SQL Server 7.0 and 2000 but they are implemented as separate DLLs. You can download the xp_smtp_sendmail stored procedure from Gert's SQLDev.net website. The setup is very easy, just drop the dll to the binn folder and run sp_addextendedproc to register the extended procedure with SQL Server. Gert's site provides very good documentation and sample code to get you up and running very quickly. ..."

Very cool...

As I wrote this post, it really started to sound familar!

sigh... Time to search my blog.

LOL. Guess what I found.
http://coolthingoftheday.blogspot.com/2004/05/xpsmtp-smtp-emails-from-sql-server.html

Well I guess if it was cool last year, it's still cool now... :0

The Code Project - IProgressDialog .NET

The Code Project - IProgressDialog .NET - .NET

"...The reason for this article is to show 'pure' .NET wrapper for IProgressDialog[^] unleashed by sytelus in his Using Windows Explorer Progress Dialog In Your Application article.

Whilst the original article is quite good and I liked the idea greatly, I have found it a bit too 'slow and heavy' with .tlb imports. I was also unable to find any other articles/examples of implementation for .NET, so I decided to see if I can do it myself.
So here is what I have come up with

..."


Damn. You really do learn something new every...

I never knew the Progress dialog HAD an interface, or was callable from my apps. I thought it was built into Explorer... Well now I know better. And now I have to throw away my frmProcess form. And I put a number of hours into it, making it match as closly as possible and to be reuable... Oh well less code for me to maintain. sigh :|

The above article covers .Net, but I also have a number of VB6 apps. Doing a quick google for VB6 samples, there's a number of examples but the first shows me just what I need IProgressDialog

I feel kind of stupid not knowing about this and in spending any time at all on a virtual copy. But then again I know there are others in my shop who don't know about it and have made their own virtual copies, so I don't feel too bad (RIGHT... I still feel stupid. Damn I HATE reinventing the wheel).

Well nothing can be done about the past, so time to focus on the future...

Sunday, January 23, 2005

New Beta 2 Feature: File-system based web applications are now supported on the Distributed System Designer

New Beta 2 Feature: File-system based web applications are now supported on the Distributed System Designer

"A built-in file-sytem based application server is one of the great features in VS 2005. It gives you the option of creating a new Web application in any folder in your file-system without requiring Internet Information Services (IIS) or Front Page Server extensions installed on your computer. This is awesome because it allows users to develop and debug Web applications without having IIS installed and without having Administrator access. This server further provides users with a more secure way of building applications on a development machine, as the Web server cannot be accessed remotely, and automatically shuts down when Whidbey is closed.

While the file-system based server has been in VS2005 since Beta 1, there was no support on our designers for those types of web service applications. Consequently, in Beta 1, IIS was required if you were planing on implementing any web applications on the Application Designer. This resulted in significant customers feedback. So... I'm happy to say... in Beta 2... we will have support for the built in file-system based application server! Architects/Developers will no longer need IIS to implement applications on our designer. Furthermore, you can now bind a file-system based ASP.NET application to an IIS Logical host to verify that it can be deployed in production; when you will no longer use the built-in file system based application server.

In fact, we believe that most customers will prefer the file-system based application during development. Therefore, ASP.NET Applications now default to file-system based web-applications on the design surface. To switch to IIS based web applications you will now have to manually enter an http:// location for the ASP.NET web application project in the 'Project' property.

..."


This is VERY cool! According to the comments on the original post, I'm keeping my eyes open for B2 in March 2005...

I still think .Net 2.0/VS2005 is going to be the break out version...

MSDN Events Online - Debugging and Tweaking Week

MSDN Events Online - Debugging and Tweaking Week

"David Waddleton, well-known for his "Geek Speak" webcasts, is presenting a 5-part series on testing and optimization entitled "Debugging and Tweaking Week". Join David as he dives into techniques you can use today with .NET 1.1 and into the future with the upcoming release of Visual Studio 2005."

Parts 1 & 2 are already full, but as of this morning there's still room in Parts 3-5 (and of course you can also pick up the recorded versions of 1-2 after...).

MSDN Webcast: Debugging and Tweaking Week (Part 1 of 5): How to Debug with .NET (Level 200)

MSDN Webcast: Debugging and Tweaking Week (Part 2 of 5): Debugging Production Applications (Level 400)

MSDN Webcast: Debugging and Tweaking Week (Part 3 of 5): Visual Studio 2005 Debugging Enhancements (Level 200)

MSDN Webcast: Debugging and Tweaking Week (Part 4 of 5): How Optimized is Your Data? (Level 300)

MSDN Webcast: Debugging and Tweaking Week (Part 5 of 5): Test Driven Development with Visual Studio 2005 (Level 300)

MS's webcasts are good (and the price is just right). Very little market-speak, presented well, by those who know what they are talking about.

In almost every 'cast I've heard/seen at least one new thing I didn't already know. While they can only provide so much information in a hour, the number of different casts make up for that. It's kind of like a Dev conference (TechEd, PDC, VSLive, etc). But instead of having your brain cramped full in a week, it's spread out over a number of days...

Amazon Web Services Blog

Amazon Web Services Blog

An Amazon Development blog... One I'll be watching to see if there's any good poop on coding against the Amazon Web Services...

(via Patrick Tisseghem's Blog - Amazon Web Services Blog)

Saturday, January 22, 2005

Installing and Using the Office 2003 Primary Interop Assemblies

Office Developer Center: Installing and Using the Office 2003 Primary Interop Assemblies

"Summary: Learn how to get and install the Office 2003 primary interop assemblies (PIAs), and how to reference and troubleshoot them.

Contents
Introduction
Getting the Office 2003 PIAs
Installing the Office 2003 PIAs
Using the Office 2003 PIAs
Additional Resources

Introduction
In Microsoft Office 2003, you can work with COM objects exposed by the Office applications by using a primary interop assembly (PIA). In this article, find out how to get, install, and reference the PIAs.

You can find details about PIAs and interop assemblies and how to program against the interfaces and classes exposed by Office 2003 in managed code from a number of articles on the subject. For information about PIAs, interop assemblies, and their uses, see Primary Interop Assemblies (PIAs) and A Primer to the Office XP Primary Interop Assemblies.

..."


I'm going to need this sooner or later...

Slashdot | Linux Live Gaming Project

Slashdot | Linux Live Gaming Project

"Fabio writes 'The mission of LLGP (Linux Live Game Project) is show to Wintendo users that also Linux can be used to game. And now a new version is out. Features: KDE 3.3 with Plastik theme and Nuvola icons, kernel 2.6.10, Nvidia drivers, TORCS, Wesnoth, SuperTux, TuxRacer and much more! It's based on Knoppix, but contains deep changes in the startup scripts. Now the hardware probing is completely based on hotplug and udev; kudzu was removed. Challenge your friends on LLGP, and convert them to Linux!' "

I dig bootable linux images... Why? Not too sure. I never seem to find the time to play with them much. I guess it's just the concept behind them that I like. Installing OS's, drivers, apps, etc is such a pain and in the windows world it's something you seem to need to do every year or so...

So I look at these bootable OS's as a possible alternative. Also it's pretty hard to spyware/virus infect a CD-R... :)

Now that DVD-ROMS are pretty much standard, I'm interested in seeing just how complete a dual layer DVD-R bootable OS image can be. Look at what's been done with 650MB and imagine what could be done with 8GB...

Anyway, I've downloaded this and will be burning this to CD real soon now. Also so far it seems to run pretty well as a Virtual PC Guest OS.

The Code Project - Circular Menu Component

The Code Project - Circular Menu Component - .NET


"Describes the use and architecture of an animated, circularly arranged pop-up menu control written in C#.

...

Circular menus have a few advantages when compared to traditional popups:

1. They look cooler: Users will appreciate the fresh look and feel associated with this type of menu, and it will add extra coolness to your application.

2. They're more fun: The animation and new style of circular popups help to create a more "fun" atmosphere for your program. This can help users lower their guard and learn your application with less resistance.

3. They can provide better user efficiency: Because menu options are arranged circularly around the click position, each option is equidistant from the user's mouse when the menu is originally shown. Circular menus are iconic, and can be thought of as a temporarily visible toolbar. Because users can find icons more rapidly than they can text, use of the circular popup can be faster than a normal popup, and because the popup appears where the user's focus is, they can even be faster than a normal toolbar.

..."

Circular menus are now quite common in PC games. Now Mark Biddlecom has released one I can use for WinForms.

Anyone looking for a new popup/right-click menu paradigm should check this out. Sometimes "standard" is good, but it's "sizzle" that sells. My only problem with this component is that the icons will make or break it and I'm pretty graphically challenged... sigh

Still, it looks like a pretty cool component. Maybe I can draft some graphic help... :)

Friday, January 21, 2005

DotNetFirebird - Using Firebird SQL in .NET

DotNetFirebird - Using Firebird SQL in .NET

Dan at dotnetfirebird.org just emailed me, pointing me to DotNetFirebird: Using Firebird SQL in .NET, http://www.dotnetfirebird.org

As quoted from the DotNetFirebird home page,
"Firebird SQL is a powerful open source database that can be easily used in .NET. I believe it has a big potential (it is full-featured, requires zero administration, can be embedded, etc.). However this potential has not been fully discovered by .NET developers who rely on Microsoft SQL Server heavily."

Firebird has been getting some airplay recently. And with the "dude, check out this site..." [paraphrased] email from Dan, well it's time I took a closer look.

For those of you who have a life (err, I mean... um... yeah :), Firebird is based on/derived from/a child of/etc Borland's Interbase (who I believe purchased it from someone else, bla bla bla). I'm not going to do a long history of Firebird/Interbase, but it does have a long "under the radar" history. For example, I briefly played with Interbase when it was bundled with Delphi (v1 or 2 I think... i.e. about a million tech years ago).

It "really" doesn't compare to Access (apples and oranges). It does compare, and compare well to MSDE. Where it has a good head start. SQL Express is closer to Firebird in the embedded space, but we have a while to wait for that... And of course Firebird is not only free but also open source.

Another thing I find really interesting is the work on integrating/linking/using Firebird and DotLucene. You know I've been jones'ing to play with DotLucene/OpenLucene (here and here.

On http://www.dotnetfirebird.org/ you'll find a ADO.NET provider for Firebird, links to download Firebird, code snips, and generally a bunch of information on using Firebird and .Net together.


Thanks for the cool tip Dan.

Netron Light Framework

Netron Light Framework


"Francois Vanderseypen has just published a new article about The Netron Project on The Code Project. "Netron Light" is a getting started guide to the Netron diagramming library for .NET. He has also release a special light version of the framework, which should be easier for novice users to get started with. You can download the light framework here and the article in PDF format here.

It is simply a lovely framework - well written and easily extensible.

..."


I could have sworn I've posted about Netron in the past... But I guess not.

I've been following this project for a while, planning on playing with it as soon as I needed a diagram solution. I've downloaded it before and took a quick look. The main package is a little much and there's a learning curve that I wasn't ready to climb yet.

Well the Light framework and Code Project article will help me up this curve a long way...

Lord of the Rings (Chris Pirillo) [Humor]

Lord of the Rings (Chris Pirillo)

This is an animated GIF that parodies LOTR-Fellowship.
LMAO. Oh man, this just killed me...

CodeGuru: Access Newly Available Network Information with .NET 2.0

CodeGuru: Access Newly Available Network Information with .NET 2.0

"Welcome to the next installment of the .NET Nuts & Bolts column. This article explores some new items in the System.Net namespace, including the new System.Net.NetworkInformation namespace that will be included in the upcoming 2.0 release of the Microsoft .NET Framework. It adds support for some very useful network-related items, such as network address and traffic information, that were not included in the 1.0 and 1.1 versions of the base class library (BCL). The article explores some of these new items and how you can use them to your advantage.

..."


A cool short article that highlights some of the new and very cool "network" related functionality coming in .Net 2.0.

For example, it will take about two lines of code to "ping" now. FTP'ing is also very easy (three lines to download a known file...). NIC info is right at hand too...

Slashdot | Bugzilla 2.18 Goes Gold

Slashdot | Bugzilla 2.18 Goes Gold

"After almost three years of development, the Bugzilla project has released long-waited Bugzilla 2.18. It contains many new features, a huge number of bug fixes, some security updates, and more. It is also the first Bugzilla version to run unmodified on Windows. In parallel, security release 2.16.8 and a new development snapshot 2.19.2 have been announced."

I've been watching Bugzilla, waiting for a good Windows install procedure. Well the wait is over. The Windows install procedures appear to be very complete, with instructions, links, tips, etc.

When/if I ever need another bug tracking system, Bugzilla will be one of the first I look at...

The Code Project - Merging .NET assemblies using ILMerge - .NET

The Code Project - Merging .NET assemblies using ILMerge - .NET

"As you know, traditional linking of object code is no longer necessary in .NET. A .NET program will usually consist of multiple parts. A typical .NET application consists of an executable assembly, a few assemblies in the program directory and a few assemblies in the global assembly cache. When the program is run, the runtime combines all these parts to a program. Linking at compile time is no longer necessary.

But sometimes it is nevertheless useful to combine all parts a program needs to execute into a single assembly. For example you might want to simplify the deployment of your application by combining the program, all required libraries and all resources into a single .exe file.

...

Since a .NET module is basically just an assembly without an assembly manifest, it should be possible to convert an assembly to a .NET module, at least that is what I thought. When researching this on google I found a tremendously useful tool on Microsoft research called ILMerge. This little gem makes it possible to link multiple assemblies to a single one.

First, you would compile your libraries to dlls and your program to an exe referencing the dlls. This is exactly what visual studio would do if you had multiple libraries and a program referencing these libraries, so there is no need to do this on the command line.

csc /target:library /out:ClassLibrary1.dll ClassLibrary1.cs
vbc /target:library /out:ClassLibrary2.dll ClassLibrary2.vb
vbc /target:winexe /out:Program.exe /reference:ClassLibrary1.dll, ClassLibrary2.dll Program.vb

This will produce a normal .exe that requires the two dlls in the program directory or in the global assembly cache to run.

Now you can link these parts to a single self-contained exe using ILMerge:

ILMerge /target:winexe /out:SelfContainedProgram.exe Program.exe ClassLibrary1.dll ClassLibrary2.dll

The nice thing about this is that you can also merge third party assemblies like commercial class libraries into your program. And you do not have to modify your build process. All you have to do is to merge the assemblies to a single exe before deploying.

..."


Very cool!

I've seen a third party product (Thininstall) that does something like this, as well as include the needed Framework components all in one EXE... But those kinds of products scary me a little. Not saying that ThinInstall doesn't sound VERY cool too though... I just wonder about testing, compatibility, support, etc, etc.

ILMerge is a MS utility, and one that is a little less scary. Its scope is less broad and just builds on the capabilities of the .Net Framework. i.e. No magic involved.

For more information, check out the ILMerge home page at http://research.microsoft.com/~mbarnett/ilmerge.aspx.

Here's a snip from the home page.

"ILMerge is a utility that can be used to merge multiple .NET assemblies into a single assembly. It is freely available for use from the MSR Downloads site. If you have any problems using it, please get in touch. (mbarnett _at_ microsoft _dot_ com)

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. While Visual Studio does not allow one to add an executable as a reference, the C# compiler does, so you can write a C# client that uses ILMerge as a library.

There are several options that control the behavior of ILMerge. See the documentation that comes with the tool for details.

The current version is 1.0.1816.20370 (created on 21 December 2004)."


Not only is it cool, but development on it seems pretty active.

Deploying .Net app's is already pretty easy (assuming the framework is already in place). This makes xcopy deployment even easier. I think this utility is a keeper...

Thursday, January 20, 2005

FileFormat.Info - file format information and conversions

FileFormat.Info - file format information and conversions

This might well become my favorite File Extension / Unicode character web site...

Not only are file extensions & formats listed, but there's a format conversion, file specification details, MIME types and info on unicode characters.

(via Sorting It All Out - Search here or search for info on Unicode characters!

Scripter.NET 1.0

Quantum Whale | Products | Scripter.NET

"Scripter.NET is a component libary allowing to integrate script for the .NET
Framework script engines into applications, and to execute code at run time.

Scripter.NET uses VSA technology that makes possible to use VB.NET and JScript.NET scripts.

Scripter.NET is freeware product, meaning that you can use it for unlimited period of time and distribute binaries with your application for free. Source codes are available upon registration.

..."


Interesting sounding component.

(via WindowsForms.Net Scripter.NET)

beSpacific: Innovative Legislative Tracking Tool Now Available

beSpacific: Innovative Legislative Tracking Tool Now Available

"Joshua Tauberer, a grad student at U. Penn, has created an amazing legislative tracking service, GovTrack.us, which won the top prize in the Technorati Developer's Contest. The site's automated monitoring services are free, and the data is obtained from federal sources including THOMAS and the websites of the U.S. House and Senate. Users may track bills, issues or committees, representatives, or topics. Daily or weekly email updates are available for registered users, as well as news feeds. The site also includes blog postings on legislation, by authors registered with the site to have their comments appear on the GovTrack Blog."

http://www.govtrack.us/about.xpd
"...GovTrack.us fills the need for a source of information useful for people. It is both a large collection of data as well as a tool for filtering out what you don't want to see. You can dig deep in GovTrack, finding information the mass media does not have room for, and you can let GovTrack send information to you, like a newspaper customized to your interests. It's the power of the Internet put to use to close the citizen-country divide.

On this site you'll find the status of legislation, the speeches of representatives on the House and Senate floors, voting records, campaign contribution summaries, and more, plus the opinions of other users through their blog entries. And you can follow only the issues that interest you through email updates and RSS feeds."


Very cool.

What I think is the coolest is that the site provides information on the underlying data the site uses (Source Data). Including tips on using it yourself. Now that's cool.

Download details: Log Parser 2.2

Download details: Log Parser 2.2

"Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows operating system such as the Event Log, the Registry, the file system, and Active Directory. You tell Log Parser what information you need and how you want it processed. The results of your query can be custom-formatted in text based output, or they can be persisted to more specialty targets like SQL, SYSLOG, or a chart.

Most software is designed to accomplish a limited number of specific tasks. Log Parser is different... the number of ways it can be used is limited only by the needs and imagination of the user. The world is your database with Log Parser."


LogParser is a pretty cool tool. One of those utilities you might not need every day, but when you need it you really need it... It also has a COM API, which I find cool. The download includes not only the EXE/DLL but samples and nice a help/chm. AND you can plug in your own input formats...

You'll also want to check out, http://www.logparser.com/, The Unofficial Log Parser Support Site.

This is one of the more under utilized MS utilities...

(via Paul Schaeflein's SharePoint Experience - Log Parser v2.2)

NSurvey v1.8 is now available

free .net survey software solutions web based

NSurvey v1.8 is now available from the release download section.

This release has, again, some cool and unique features ... From the integration of the FreeTextBox component in your forms to an advanced file upload type and the new amazing repeatable section features, NSurvey gives you all the power you need to create, manage and enjoy your surveys or forms.

...


Cool, my favorite free Web Survey tool has rev'ed... It's getting better and cooler with each release.

(via TheServerSide.NET - NSurvey v1.8 released)

The Code Project - Release Excel Object - VB.NET

The Code Project - Release Excel Object - VB.NET

"Nearly every developer have encountered one day what I encountered while dealing
with com object and the pain in releasing it from memory.

in the following example, I will describe my experience in how I solved an issue with Excel object, and the way I followed to kill those hanging objects where I tried many known methods and none worked."


Seems like .NET <-> COM/Excel is fun for everyone... I ran into this early last year too and posted about it here, VS2003 & Excel "Leaking..." and Forcing Garbage Collection and here, How to fully close Excel when using COM Interop (addm: VS2003 & Excel "Leaking..." and Forcing Garbage Collection)

It's easy to go overboard when trying to deal with this. Also given how common this issues seems to be, I would think MS could provide official guidance, pattern, etc.

Yeah, once you figure it out, it's not hard to handle, but think about the man hours being wasted on this one issue. If I've run across three pretty much by accident, then how many other people have run into then then solved this? Hundreds? Thousands? Now add in the people making manged Outlook addin's and their "fun" with ReleaseCOMObject...

There must be a easier, less error prone and more "standard" way to work with COM objects from .NET. The PIA's seem to help, but only if you're using Office XP/2K3. And yeah, one day we'll live in a Managed world. But that's many years yet...

The Code Project - .NET UPS XML Tracking Interface DLL - SOAP and XML

The Code Project - .NET UPS XML Tracking Interface DLL - SOAP and XML

"A .NET DLL and sample application that interfaces with UPS's XML API to retrieve tracking information. You can also use it to generate an RSS feed...

The latest version, along with additional information will always be available at http://www.Young-Technologies.com/Utilities/Shipper_Interface/

This application demonstrates the .NET DLL that can be used to interface with the UPS API. Right now, UPS is the only supported shipper, and only tracking information is supported. The only viable alternatives are to write your own, or use an expensive commercial version.


..."


And I didn't know UPS had a XML API...

Saturday, January 15, 2005

MSDN .NET Framework Developer Center: Designing .NET Class Libraries

MSDN .NET Framework Developer Center: Designing .NET Class Libraries

"Designing .NET Class Libraries

The Designing .NET Class Libraries series presents design guidelines for developing classes and components that extend the .NET Framework. The goal of the Designing .NET Class Libraries series is to encourage consistency and predictability in public APIs while enabling Web and cross-language integration. The guidelines presented in Designing .NET Class Libraries are intended to help class library designers understand the trade-offs between different solutions. There might be situations where good library design requires that you violate these design guidelines. Such cases should be rare, however it is important that you provide a solid justification for your decision."


14 part series, spread over 4 months. Part one is the only one available so far.

I want to check this out when I get a chance... Every little bit helps and the price is just right.

ActiveWin.com - Scriptomatic 2.0

ActiveWin.com - Scriptomatic 2.0

"A completely new version of the famous Scriptomatic, the utility that writes WMI scripts for you. (And, in the process, teaches you the fundamental concepts behind writing WMI scripts for yourself.) Unlike its predecessor, Scriptomatic 2.0 isn't limited to writing just VBScript scripts; instead, Scriptomatic 2.0 can write scripts in Perl, Python, or JScript as well. In addition, Scriptomatic 2.0 gives you a host of new output formats to use when running scripts, including saving data as plain-text, as a stand-alone Web page, or even as XML. Scriptomatic 2.0 handles arrays, it converts dates to a more readable format, and it works with all the WMI classes on your computer; on top of all that, it also writes scripts that can be run against multiple machines. "

If you're doing WMI scripting, you'll want to check this out...

Friday, January 14, 2005

Honda to lease fuel cell vehicles to U.S. individuals

Japan Today - News - Honda to lease fuel cell vehicles to U.S. individuals - Japan's Leading International News Network

"DETROIT Honda Motor Co announced Tuesday that it will start leasing its pollution-free fuel cell vehicles to individual customers in the United States by the end of 2005, becoming the first automaker to do so.
At present, Honda and Toyota Motor Corp are marketing fuel cell vehicles to corporate clients and U.S. public entities on a leasing fee basis in both Japan and the United States. (Kyodo News)"


I have a Civic Hybrid and am very happy with it. Real world Los Angeles driving gets me 40-45 MPG. Still I'd rather not be buying gas at all. I've been waiting for a feasible non-gas vehicle for a while. CNG is close, but not close enough.

I really want a fuel cell car...

What really kind of pisses me off is that I have to buy my hybrid compact car from a non-US auto dealer. And now it looks like I might have to buy a fuel cell car from a non-US dealer too?

US Automakers. WAKE UP. I WANT to buy your products, but can't cause the only hybrids offered are SUV's. Um DUGH! I'm trying to SAVE gas here...

Sigh... sorry. Didn't mean to rant.

Here's to hoping that my next car will have a fuel cell based power plant...

(via Ed Draper - Honda to lease fuel cell vehicles to U.S. individuals

Download details: Office 2003: XML Schemas

Download details: Office 2003: XML Schemas

"This download contains documentation on a number of XML schemas for Microsoft Office 2003 Editions including Microsoft Office Word 2003, Microsoft Office Excel 2003, Microsoft Office InfoPath 2003, and Microsoft Office Visio 2003 schemas. It also includes schema information for Microsoft Office OneNote 2003, Microsoft Office Project 2003, and Microsoft Office Research Services.

This download contains the Microsoft Office 2003 Edition XML Schema References and related documentation including the following:

Overviews on WordprocessingML (the XML file format for Word 2003), SpreadsheetML (Excel 2003), FormTemplate XML schemas (InfoPath 2003) and DataDiagramingML (Visio 2003).
Additional XML schema information for OneNote, Project, and Research Services.
Reference documentation on all Office 2003 schemas, detailing every element and type.

..."


Wow. Now this is an File Spec release. All the information you may ever need about Office 2003 Document/XML files.

Not only the schema/XSD but a nice Help/CHM that describes each schema and how they are, or can be, used.

I'm sure soon or later I'll be hip deep in Office 2K3 XML files and I'll need this reference information.

(via TheServerSide.Net - Microsoft Releases XML Schemas for Office 2003 Products)

Safe cracking for a computer guy

Safe cracking for a computer guy

"I found this paper by Matt Blaze via Schneier on Security It seems it has completely pissed off the locksmithing community. Interesting.. A bit scary..."

More than you'll ever probably want to know about safe locks... (and how to open them).

Skype API COM Wrapper

Skype API COM Wrapper

"The SkypeAPI COM wrapper is an ActiveX 'layer' around the Skype API (documentation here). It's designed to make it simpler for COM-client development environments (VB, .NET, etc.) to communicate with Skype
Some of the API's features include

Easily manages sending messages to and from Skype (no need to deal with WM_COPYDATA command)
Event triggers for changes in online status, call status, etc.
Enumerated types defined so you don't have to hardcode strings in your app
Collection classes defined so you can easily deal with lists (i.e. For-Each support)

The API is free to use in your app (commercial or otherwise). You can distribute the compiled .DLL with your app, but may not redistribute the source code. You can use the library without referring to it in your application or its documentation

..."


Skype is a cool VOIP application that works very well. My wife and I use it quite a bit (even when we're both home... Why get up from the PC's when we can just Skype each other? :)

It recently added a public C++ API. Now someone has created a COM wrapper.

That's cool... Time to start writing Skype things.

(via Matthew Cosier's Blog - Skype 1.1 API)

geocamming - unsecurity cameras revisited

geocamming - unsecurity cameras revisited - hack a day - www.hackaday.com

"this one is for all the people who couldn’t see the netcams from sunday’s post. it turns out that the web interface to these cameras can serve both motion-jpeg and traditional jpeg frames (the latter with browser refresh). unfortunately, many browsers (including safari on my machine) don’t appear to handle motion-jpeg.

no need to switch browsers, though. you can use google to filter out the motion-jpeg urls. you’ll even benefit by reducing the amount of bandwidth you use (really nice for the slow camera connections). just google for inurl:"ViewerFrame?Mode=Refresh"

there’s something incredibly cool about seeing what is happening around the world. you can change the interface language to english by setting the language id to 4 in the url.

..."

If you need a daily voyeur fix, the above google search will help.

I'm getting 713 hits. And in non-scientific random clicking, about 50-70% of the links are active, meaning I'm getting access to the camera's controls and see pictures. And there's no hacking involved... These are just open links, thought that are not probably intended to be open.

It's another example of how Google can be used to find stuff that people don't necessarily want or intend to be public.

Ladies and Gentleman, SECURITY BY OBSECURITY DOESN'T WORK!




Thursday, January 13, 2005

The Code Project - Undelete a file in NTFS - Files and Folders

The Code Project - Undelete a file in NTFS - Files and Folders

"NTFS - "New Technology File System" is the preferred native file system for Windows NT series. It is more sophisticated, powerful, and complicated file system than FAT file system. It is much efficient for larger disks. There are many tools out in Internet for recovering deleted file from NTFS, but I couldn't find one with source by now. I created this tool to satisfy my curiosity and I'm presenting to all of you having the same interest. Here is the tool with source. Have fun.

In this article I shall explain

Few details of NTFS. I'm not explaining from the scratch. This explanation looks kind of additional patch work for documentations available on Net.

..."


Some good information on NTFS...

Wednesday, January 12, 2005

ProjectDistributor, the simple but no simpler way of distributing your toy applications

ProjectDistributor, the simple but no simpler way of distributing your toy applications

"ProjectDistributor is a new actor on the scene of inline project management (thanks for Darren). It provides a simple web site for publishing your little cool applications that have been sleeping on your desktop.

Unlike the big guns like sourceforge, tigris or gotdotnet, ProjectDistributor is simple simple simple. With RSS and webservices, it has the vitual but no more features, anyway who uses all the feature from sf or tigris ?

..."


Interesting. I've seen a few posts on Project Distributor before, but the above post has me looking at it in a little more detail.

I'm really getting on the "Keep it as simple as possible, but no simpler" bandwangon...

Tuesday, January 11, 2005

Gizmodo : CES Showfloor: Brother Innov-is 4000D

Gizmodo : CES Showfloor: Brother Innov-is 4000D

"

I didn't expect to find the words, "that's a badass sewing machine" coming out of my mouth, and from the look on his face, neither did the guy from Brother Sewing. He should be used to it, though, because it's totally true. The Innov-is 4000D converts any image file into an embroidered pattern—even directly from USB flash drives.

And yes, that's a full-color touchscreen on the side."


LOL. I know how he feels. I said the same thing what I saw the picture... This is almost as cool as the full on laser cutting "printer", VersaLaser.

I wonder if THIS will FINALLY get my wife to sew? :|

Okay, so I'd be the one sewing. But I'd be damn cool looking as I did it!

The Graphing Calculator Story - http://www.pacifict.com/Story/

This was passed to me from a coworker yesterday. Interesting story...

The Graphing Calculator Story

While a good story, what's even better is that this appears real. Doing some quick googling, I didn't find any immediate indications that this is a hoax... Kind of a "Secret of my Success" but in real life.

Monday, January 10, 2005

oxid.it - Cain and Able 2.5

oxid.it - Cain and Able 2.5

"Cain & Abel is a password recovery tool for Microsoft Operating Systems. It allows easy recovery of various kind of passwords by sniffing the network, cracking encrypted passwords using Dictionary, Brute-Force and Cryptanalysis attacks, decoding scrambled passwords, revealing password boxes, uncovering cached passwords and analyzing routing protocols. The program does not exploit any software vulnerabilities or bugs that could not be fixed with little effort. It covers some security aspects/weakness present in protocol's standards, authentication methods and caching mechanisms; its main purpose is the simplified recovery of passwords and credentials from various sources, however it also ships some 'non standard' utilities for Microsoft Windows users.

Cain & Abel has been developed in the hope that it will be useful for network administrators, teachers, security consultants/professionals, forensic staff, security software vendors, professional penetration tester and everyone else that plans to use it for ethical reasons. The author will not help or support any illegal activity done with this program. Be warned that there is the possibility that you will cause damages and/or loss of data using this software and that in no events shall the author be liable for such damages or loss of data. Please carefully read the License Agreement included in the program before using it.

Version 2.5 is faster and contains a lot of new features like APR (Arp Poison Routing) which enables sniffing on switched LANs and Man-in-the-Middle attacks. The sniffer in this version can also analyze encrypted protocols such as SSH-1 and HTTPS, and contains filters to capture credentials from a wide range of authentication mechanisms. The new version also ships routing protocols authentication monitors and routes extractors, dictionary and brute-force crackers for all common hashing algorithms and for several specific authentications, password/hash calculators, cryptanalysis attacks, password decoders and some not so common utilities related to network and system security."


Being in EDD I find this is a very interesting freeware product...

It will also recover some local passwords, such as from IE/Protected Storage, Access, VNC, SQL Server Enterprise Manger, Remote Desktop and more. Office password recovery is not included...

(via Larkware - The Daily Grind 533)

Electronic Discovery Law : Preston | Gates | Ellis

Electronic Discovery Law : Preston | Gates | Ellis

Interesting EDD blog... By a lawfirm (Preston|Gates|Ellis) that's been doing EDD for a while. So far the blog appears to be open and not just a marketing tool for firm.

Most imporantly they have a RSS feed so it's easy to keep up to date on their posts.

Door Slammed in My Face... (RIP Wish)

Well I had the door slammed in my face this weekend... You know I was excited to be in the 1.5 beta Wish (post).

An open beta, 2.0 started 1/1/2005. While a little rough at first, in the last couple days things started to gel and all seemed to be on the road for a great beta and an outstanding game. People were really getting into the game and it seemed the promise of game was really going to fulfilled.

Then yesterday (Sunday, 1/9/2005), while playing, the chat started to fill about Wish being canceled! In the forum and home page the below notice was posted at about Noon PDT.

Dear friends of Wish:

Unfortunately we have bad news.

After careful consideration of all the facts and analyzing all the data which we have gathered from the Wish Beta 2.0 test so far, we have decided to cancel the Wish project.

Our Beta test will end this evening at 6pm EST, and at this time our Beta forums will close as well.

We enjoyed working together with our fans very much, and we are very sorry about this development. We wish you the best of luck in the future, and hope that you continue to enjoy online gaming, even with Mutable Realms and Wish not being available anymore.

We also wish the best luck to our competitors, and hope that they will not suffer the same fate as us.

Best regards,
Your Mutable Realms Team



So totally out of the blue, not only is the beta closed but the ENTIRE project canceled. Poof. Gone. Don't let the door hit you in the ass on the way out...

It's been said that if you can't say something nice then don't say anything at all. So I guess I have nothing more to say...

Saturday, January 08, 2005

:: w.bloggar :: 4.0 Released

:: w.bloggar ::

w.bloggar 4.0 has been released. This is still my favorate full client blog editing/posting tool. This one thing I am really starting to miss is a "blog this" kind of button on my browser... but still this is a good tool at the right price...

The Code Project - Dynamic Properties in the PropertyGrid

The Code Project - Dynamic Properties in the PropertyGrid

"The article is mainly to explain how to make Propertygrid show only some properties of a class.
One of the big limitation of this control is that it's not possible to hide or show any class properties at runtime.

..."


I like the PropertyGrid. I've used it in a couple projects and it's work out great. This article talks about a way to work around one of its apparent limitations, runtime item additions/removals.

Why is this cool? Cause the value of one item can (and in my case does) effect if other items should be visible or not. This example appears to cover that...

DevJunkies.com - Installing RealVNC - Access your PC for free

DevJunkies.com - Installing RealVNC - Access your PC for free

"RealVNC allows you to access your PC from any network connected PC. Here, I'll show you how to install and configure RealVNC in an easy step-by-step way that even my mother could do =)
..."


I wonder if this might work better than Terminal Services in some cases.

Now I dig TS in Remote Admin mode, not get me wrong. It's enable me to do so much over limited bandwitdh... It's officially very cool. But there ARE issues with it.

Considering MS uses a VNC variant with VirtualServer, VNC might be worth looking into as a possible alternate to TS-Remote Admin.

Tuesday, January 04, 2005

CodeGuru: Who's Locking? v1.3

CodeGuru: Who's Locking? v1.3

"Have you ever tried to copy a DLL and had an "Access Denied" or "Shared Violation" error? Did you have to reboot everytime you needed to upgrade a DLL?

If yes, this program is for you!

Who'sLocking? is a a devpt/system management tool to find which process is locking a DLL.

Whenever a process loads a module (DLL), it locks the DLL and no other process can delete and/or write in it: you get "Sharing Violation" errors (or "Access Denied").

Once you know the name of the process who's locking your DLL, you can stop this process and have full access to the DLL module. There's no need to reboot your system anymore...

PROGRAM FEATURES

  • Integrated in Windows Shell (right-mouse menu on DLL, OCX, or EXE files).
  • Automatic installation/registration when launched first time.
  • 1 parameter: name of executable module to search (DLL, OCX)
  • Display list of processes who are locking a DLL (if DLL is loaded by multiples processes)
  • Displays process name, PID, executable pathname (if applicable), and service name (if applicable)

..."

Cool tool. This will help you figure out what application/process/etc has a given file/dll/etc open.

It's free and the source is available too...

(via Shaju Thomas - Who's Locking?)

What The Spec?!? - The Daily WTF

What The Spec?!? - The Daily WTF

"I've noticed that there have been a lot of IT Project Portals popping up over the last few years; you know, the ones where you post a project and get bids from coders and companies all over the world. If you've ever used these before, you may have noticed that some of the proposals are ... umm ... slightly less-than professional.

But I can honestly say I've never quite seen a proposal like this (as discovered by Péter Zoltán). It's for small software e-commerce site. Here are some excerpts:

"The server is gonna be at my home, connects to the internet through satellite with fix IP"
"Softwar downloadable by anyone before he is our customer"
And there will be a button like send order ner the catalog button
Thiss will send the order for us"

Actually, it's pretty hard to pick excerpts. The whole damn thing is like that. See for yourself. "



Looks like some spec's I've been given... :|

Monday, January 03, 2005

Gizmodo : TiVoToGo Launches

Gizmodo : TiVoToGo Launches

"If you have a Series2 TiVo you can go to the website and download the software today to copy shows to your laptop, although the DVD burning software that will facilitate permanent archiving is still not available."

I wonder if it's time to Tivo? I've been going back and forth between getting a Tivo or Adelphia DVR. (A Media Center would be cooler, but they are so much more expensive initially...)

TivoToGo might tip the balance in Tivo's favor... It sure does sound cool doesn't it?

.Net Plugin Application Architecture

During the holiday period, I started seriously playing with building a .Net application that was based on a plugin architecture.

First I wanted to do it the hard way, the better to really understand what was going on, how to best build it, etc, etc. After a while I had a simple application where I could plugin new funcationality without recompiling the primary application. Yeah!

What a pain. I had the simplest implementation working. Now all I needed was to use a new AppDomain, show copy, dynamic plugin loading, etc, etc. I.e. a real implementation.

Now that I'd done it the hard way, I decided it was time to punt and not try to reinvent the wheel. I've posted about MSINC.Plugins before and now was the time to use it.

Oh my. Talk about making my life easier. That library just rocks. In just minutes I had replaced my cheese/hard way plugin architecture with MSINC.Plugins. And now I had a real plugin application. Now that's cool...

If you're looking at implementing plugins in your application, take a look at this library.


Now it's time to actually build some plugins... :)

PS. It seems MS-INC's site (http://www.ms-inc.net) is current down. Hopefully it's "just a thing"...

My "Read These" Folder #2

My second "Read These" links... I first talked about my Read These folder, here.

One thing I miss when using Blogger/BlogSpot are categories... It would be nice to have a category for these posts. Of course I could start a new blog, but that seems like overkill. And keeping one personal blog updated is hard enough (plus I like have a single remote memory space to search...)


Customizing MSI Installation
"Go beyond the basics of creating setup routines in Visual Studio .NET! Vishnu Prasad H explores setup project templates, editors, custom installers, and more. Then he pulls it all together in an example that deploys a database application."

VB-Helper: Stick to the Script
"No matter how hard you try, you can never anticipate every user's needs. And whether you get paid by the hour or by the product release, constantly adding new features can be alluringly profitable, although often tedious. However, if you build enough flexibility into your applications, users can often implement their own solutions. This month, Rod Stephens explains how to add scripting to your VB.NET programs. Then, when your users ask for a new feature, you can tell them to do it themselves."

The Fallacy of the Data Layer by Rocky Lhotka
"It is commonly held as a truth that applications have a UI layer, a business layer and a data layer. In most of my presentations and writing I use a four layer model: UI, business, data access and data storage. In this case the "data storage" layer is really the same as the traditional data layer in a 3-layer model.
But I want to challenge this idea of a data layer. Over the past few months, in discussing service-orientation (SOA) as well as distributed object-oriented architecture, I have become increasingly convinced that the idea of a data tier, data layer or data storage layer is fundamentally flawed."


A BLOB of a Different Color
"You might be used to BLOBs in ADO, but a BLOB in ADO.NET is a completely different animal
Michael Otey
Converting legacy ADO applications to ADO.NET requires a lot of work, and one of the hardest parts of moving to ADO.NET is converting BLOB import or export code. Although many features in ADO.NET are closely related to those in ADO, BLOB access isn't one of them. In ADO, you manipulate BLOB data by using the standard Recordset and Field objects with either the Field object's chunking methods or the Stream object. However, none of those objects exists in ADO.NET. In ADO.NET, you can use the SqlDataReader to retrieve BLOB data from your SQL Server database, then use the ADO.NET DataSet and DataField objects to import BLOB data from the file system into SQL Server."


HOW TO: Read and Write a File to and from a BLOB Column by Using ADO.NET and Visual Basic .NET
"This article explains how to read and write data from BLOB (LongVarBinary) columns in a database table."

HOW TO: Read and Write a File to and from a BLOB Column by Using Chunking in ADO.NET and Visual Basic .NET
"This step-by-step article describes how to use the Microsoft SQL Server READTEXT and UPDATETEXT statements to read and write data from BLOB (LongVarBinary) columns in a database table.

Unlike with ADO 2.6 and later, ADO.NET does not support reading and writing BLOB objects by using Stream objects. ADO.NET data providers do not have GetChunk and AppendChunk methods available to the Data Access Object (DAO) and ActiveX Data Objects (ADO) Recordset objects. To read a BLOB field for in-memory manipulation, you can use a DataReader object to select the row, or you can cache the data in a DataSet.

However, if you want to stream the data to a different medium, such as disk or Web response, then you can read the BLOB from the server in smaller chunks to minimize the amount of memory that the process consumes. This is especially important in Web Forms applications, where you may have multiple concurrent applications running at the same time and you want to conserve memory resources. "


How To Read and Write BLOB Data by Using ADO.NET with Visual Basic .NET
"The GetChunk and the AppendChunk methods are not available in ADO.NET to read and write binary large object (BLOB) fields. This article describes how to use the FileStream object and a byte array to read and to write BLOB data from Microsoft SQL Server to a file."


Can you tell I was doing ADO.Net BLOB research? :)

15 Seconds : ClickOnce Deployment in .NET Framework 2.0

15 Seconds : ClickOnce Deployment in .NET Framework 2.0

A short article on using the new ClickOnce deployment method coming in .Net 2.0.

I'm hoping the second time is the charm (vs No Touch deployment) and that it's not all just hype... Cause I REALLY could use something like ClickOnce, as long as it works as advertized and there are not TOO many additional "issues" with it...

We'll see later this year...

The Code Project - ZIP Code Utility

The Code Project - ZIP Code Utility

"This article provides an easy method to lookup a U.S. City/State by ZIP Code, or one or more ZIP Codes by City/State. It also describes a method to calculate the distance between two ZIP Codes and find all other ZIP Codes within a radius of X miles of a specified ZIP Code.
...
Intrigued by Ben Fry's zipdecode[^] applet, I decided to write a little ZIP Code utility that allows lookups of U.S. locations by ZIP Code, City/State, or all three. Since the data were already in the database in the form of latitude/longitude pairs, I added the capability to find the distance between two points, and to find all other ZIP Codes within a radius of X miles from the original location.
... "


A disconnected method (i.e. no web service/map point/etc) of determining the distance between two zip codes/locations is something I might be able to use...

Tuesday, December 28, 2004

GMail Invites

I have 4 Gmail invites for anyone who wants one...

Please email my hotmail account (the address is at the top right of my blog). Please give me a first and last name (or initials) and an email address where I can send the invite too...

First come first served

Thanks.

Update #1 12/29/2004 @ 6:34 AM PDT:

Three left

Update #2 12/29/2004 @ 6:55 AM PDT:

Two left...

Update #3 12/30/2004 @ 4:00 PM PDT:

Three left...

(Looks like I got more invites to give out last night... :)

Start a movement! Donate all your Google AdSense Revenue to Earthquake Relief

ComputerZen.com - Scott Hanselman's Weblog - Start a movement! Donate all your Google AdSense Revenue to Earthquake Relief

Greg Hughes and I were talking about this idea. The power of blogging isn't citizen journalism, it's the power to start a movement.

Nick Bradbury is donating his profits to the Red Cross. Kudos Nick. Let's ALL take our passive Google Adsense Revenue for the year and donate it directly to earthquake relief. Mine so far is US$287.53 since I started ads in June. I'm sure hundreds of thousands, even millions could be raised quickly in this manner.

To that end, let's pressure Google into allowing us to automatically donate our revenue from their side! Spread the word and trackback this link.


I'm in. I've not made much from my Adsense (i.e. not enough for Google to even cut me a check), but what I've made I would donate if Google were to give me a way...

(via Geek Noise - Start a movement! Donate all your Google AdSense Revenue to Earthquake Relief

The Code Project - Reading and Writing Messages in Outlook Express

The Code Project - Reading and Writing Messages in Outlook Express

"This demo application is a example of how classes IStoreNamespace and IStoreFolder should be used to list folder / messages in Outlook Express.

The application has the following features:

List Local folders.
Create / Rename / Delete local folder.
List messages of a local folder.
Get message properties.
Get message source.
Create / Copy / Move / Delete messages.
Mark messages as Read or Unread.
Using the code

This code was written to provide a initial example of the IStoreFolder / IStoreNamespace classes recently documented by Microsoft.

..."


Grrrr... I missed that MS released the Outlook Express API. Now it looks like I can get at Outlook Express directly without conversion, which is very cool...

Monday, December 27, 2004

OT: Jaded: Thoughts of a Rookie Cop - December 26th, 2004

Jaded: Thoughts of a Rookie Cop:

"...So, I get a sick case call, thinkin' it's not big deal. I get over there, and there's this dead guy in the back of an ambulance. Literally, if the paramedics weren't pumping oxygen into his lungs with this bag valve mask thing, he would be dead. Full respiratory failure. He did this by taking too much herion.

The cool thing is that the paramedics have this cool drug, I have no idea the name of it, that counteracts the effects of all narcotics, narcotics being the key word. Not Zanax, not antibiotics, not alcohol, just narcotics, like cocaine, crack, herion, stuff like that. Usually, 2cc of this stuff wakes any dead person straight away. Well, this guy needed twice that, 4cc's. Here's the killer thing. This guy, literally dead not 2 minutes ago, wakes right up and gets mad that the medicine screwed up his buzz. Ain't that a kick in the ass? On top of that, he's refusing medical treatment. He literally is trying to rip the IV out of his arm to get inside his house. Remember, he was dead two minutes before hand. Amazing what ya see in this job. The funny thing is, he tries to claim that it's from alcohol and Zanax. "


Where's Darwin when you need him? I guess he's taking a break, but I'm sure he'll be back for this guy soon enough...

OutlookContactProvider

OutlookContactProvider

"...As it's the holiday season, I decided to spend a few minutes granting those requests and creating a version of the calendar providers code that instead works with contacts. For anyone who's interested, I'd suggest reading the article about calendar providers first, as the contacts code is very similar. The source for the new project is then available here. Included in the source is an example provider that connects to a SQL Server and provides a contact list for the customers in the Northwind database...."

Outlook Contact Provider that hooks into WSS, but instead of sync'ing contacts with a Sharepoint Contact list, it hooks up to a different backend DB.

i.e. if you have a CRM (or CRM like) product you might be able to use this example to hook Outlook to it (one way/read only for now).

(via Larkware - The Daily Grind 525

Strategic Legal Technology :: E-discovery and De-duplicating

Strategic Legal Technology :: E-discovery and De-duplicating

"...
Existing approaches to detecting duplicates have limitations. One approach is to use a “hash,” a mathematical technique. This approach determines only if documents are completely identical; a single difference in one character or the file path makes two documents different. Another approach is to use meta-data to detect possible duplicates.

Software start-up Equivio has software that, upon first evaluation, allows litigators to identify near duplicates and adjust what is meant by “near.” For example, drafts of the same document prepared by different authors on different days with different file names could be identified as potential duplicates. (Hashes and meta-data cannot do this.) Such differences may be relevant to the case, but often they are not. Clustering near duplicates and reviewing them simultaneously can be a great advantage in helping to insure consistent responsiveness and privilege designations and in saving review time.
..."

Interesting... (For me in my business at least).

Deduplication by MD5 is currently pretty standard. But as the author points out MD5/Hash dedupe it is very all or nothing. Equivio appears to offer a different solution. What I find it most interesting is that they offer it as a OEM product with a wide range of API's.

Something to look at at least...

Sunday, December 26, 2004

Virtual PC 2004 SP1 Problems with Laptops and SpeedStep

Virtual PC 2004 SP1 Problems with Laptops and SpeedStep

"Ted Neward posts that he's having trouble with Virtual PC 2004 SP1.

My guess is Ted is running it on his IBM ThinkPad T42p. Turn off the SpeedStep feature of the processor in the BIOS. (You can also just try setting your power management settings to Always On). You can verify that your processor is running full speed by downloading Intel's Processor Identification Utility here [0].

There seems to be some issues with laptops and SpeedStep and the SP version of Virtual PC. I also seen reports of problems on Virtual Server with laptops.

End of line.

[0] http://support.intel.com/support/processors/tools/piu/"


Since I use my notebook as a portable desktop, and I'm starting to use VPC more and more, I've given this (disabling SpeedStep) a try...