Sunday, November 21, 2004

Download details: RTC Client SDK 1.3

Download details: RTC Client SDK 1.3

"Windows Real-Time Communications Client API SDK 1.3

The Microsoft Windows Real-Time Communications Software Development Kit (SDK) version 1.3 provides the ability to create applications that integrate audio, video, data collaboration, instant messaging, and presence using the standard Session Initiation Protocol (SIP)."

Something new to play with...

The RTC API now (as of v1.2) supports Win2K SP4 and has limited VB6 info (1 simple sample).

The Code Project - Plugin Manager - C# Programming

The Code Project - Plugin Manager - C# Programming

I've been watching the posts for last couple years on Plugin .Net app's... I'm planning using them throughout My Bookshelf project.

Here's another post that short and sweat and to the point. Shows examples of using a new/different app domain, using the FileSystemWatcher to monitor a folder to watch for new plugins, etc.


Using "plugins" in .Net apps seems to be becoming much more main stream. Now we need Microsoft to help us out with a standard/base framework that the community can extend as needed...

Friday, November 19, 2004

Ever wondered why call center guys are paid more ?

Ever wondered why call center guys are paid more ?

You know what's scary? I've actually had conversations with clients just like these...

About a million years ago (early 90's) I worked at DAK (a consumer electronic mail order company). We sold one of $99 CD-ROM drives, serial mice, 286 then 386 computers, etc, etc.

And our target market was the general public. The same people buying Bread Makers and Ice Cream Machines...

We had a number of classic tech calls. These are real calls I had...

--------------
Mouse Pain
Customer: My mouse doesn't work well... It's hard to see where it's going.
Tech Support: Are you using a mouse pad?

Customer: How would I use a pad? I have the mouse against the screen... If I put a pad up there too I wouldn't be able to see the screen at all...

--------------
5 1/4 Floppy Fun
Customer: I can't put floppy #5 in...
Tech Support: Is there a problem with the floppy? Is it bent or anything?

Customer: No...
Tech Support: Did the other floppies go in okay?

Customer: Yeah, but #4 was a little hard to get in.
Tech Support: ...

Customer: Like the instructions say, I put in #1, #2, #3, but had to force #4 in and now there's no room for #5.

[The customer wasn't aware that the previous floppy had to be removed before the next was to be inserted]

--------------
Baked Breadmaker
When a customer would lose power in the middle of a Bread making session we would tell them to take the pan out of the machine and put it into the over to finish baking.

Well one customer didn't catch the "pan" part.

The customer took out all the shelves in their oven and put the ENTIRE machine into the over for 45 minutes @ 375... The completely melted breadmaker was a site to see.



I could go on and on...

Thursday, November 18, 2004

w.bloggar 4.0 RC2 Released to the Public

My favorite full client blog posting tool has released RC2 of it's next major version, 4.0 (which I'm using to post this...)

Lots of new stuff/fix, and still pretty easy to use... The final release is just under a month away.

I'm going to have to convince my Domestic CFO that this is one "free" package that I should buy...

Update #1 11/21/2004 @ 12:40PM PST:
I need to remember that w.bloggar doesn't do Title links... Here's the link to their site.

Ghost Devices

Ghost Devices

"... Did you know that your machine probably has every device driver for every device you've ever installed or plugged in still loaded?

The most obvious proof shows up when you swap out one network card for another, but try to keep the same static IP address. Windows will alert you that the IP address is already in use by another network adapter (even though you may never use that adapter again). I finally got tired of seeing this message, so I decided to go on a web hunt for a way to remove the old network adapter once and for all.

Here is what I've found:

1. Right click on My Computer, and select properties.
2. Click the Advanced tab, and select Environment Variables.
3. Click New in System Variables.
4. Type devmgr_show_nonpresent_devices in the Variable Name field, and the number 1 in the Variable Value field.
5. Click OK.
6. Click the Hardware tab, and select Device Manager.
7. Click the View menu, and select Show Hidden Devices.

You will now see a ghost icon for any devices that are installed but not connected. ..."


Very cool tip from Joshua

I copied it here cause I KNOW I'll need this, but won't remember where I put it and wanted to make sure when I googled my blog I'd be able to find it (since my blog is my remote memory store I google it allot :)

Writing Windows SharePoint Services Server-Side controls

Writing Windows SharePoint Services Server-Side controls

This is a nice article on a writing server side Windows SharePoint Services control in VB.Net...

ClipPath

ClipPath

"As a Programmer, we are often required to set the path or classpath Environment variables. But Windows Operating does not allow us to copy the full path of a file or a folder,say, c:\temp\try.java to clipboard so that we can paste the same anywhere we require. Clip Path utility tries to solve these problems. It is a windows Shell Extension Program. Once installed, you can copy full path of a file or folder to clipboard.

New features in Version 2.1 include the Addition of one more menu item - "Create Outlook Link(s)"."

Oh man... this is cool! Read about it on Early Adopter and immediately installed it. For me, this just rocks.

I am copying file paths into Outlook/documents/etc all day it seems, and with Explorer it's been a two step process. Copy the path, then copy the file name. With this utility it's now done with one right click.

The Create Outlook Links is also VERY cool.

(via Early Adopter - A nifty utility that makes my heart sing...

Tuesday, November 16, 2004

Unused CPU/Bandwidth ? [World Community Grid]

Unused CPU/Bandwidth ?

"Do you have PC's just sitting around connected to the internet or corporate network just spinning CPU cycles, doing the computing equivalent of twiddling their thumbs ? - I have three PC's on my desk which are running 24x7, during the night they are typically not doing a lot, so what can I do with the spare CPU cycles and internet bandwidth ?

Huge amounts of data exist that can identify the role of individual proteins, but it must be analyzed to be useful. This analysis could take years to complete on super computers. World Community Grid hopes to shrink this time to months.

...

So, how about donating some of your CPU time to a good cause ? - How about donating some of those CPU cycles to the World Community Grid - You can install an application (that also runs as a screen saver) that will pull down data for analysis and chew on the data while you're not using your PC."

A family matter this week has hightened my need to help disease research. I do have a number of machines that are idle much of the day and it's been a long time since I've taken part in a Grid.

Now seems like a perfect time to join the World Community Grid (http://www.worldcommunitygrid.org/).

Saurabh's Believe It Or Not : Home Computer for 2004

Saurabh's Believe It Or Not : Home Computer for 2004

Wow... How did they know 50 years ago that my home PC would look just like this? ;)

My son really likes the steering wheel that I added to play Nascar...

Monday, November 15, 2004

PDF for Lawyers: Acrobat 7.0 Introduced

PDF for Lawyers: Acrobat 7.0 Introduced

Sigh... and I've not had a chance to roll out 6.0...

Oh well, time to leap frog. :)

Sunday, November 14, 2004

The Code Project - World Clock and the TimeZoneInformation class - .NET

The Code Project - World Clock and the TimeZoneInformation class - .NET

"...This article is an attempt to provide code that is useful for converting a time stamp into the end-user's own time zone.

Another group of users also need to deal with time zones: travellers wishing to know the time at their destination, or the time at home - for example, when trying to call relatives or colleagues. The accompanying application, a demonstration of the TimeZoneInformation class, is useful here.

Different countries and locations around the world use different time zones - to match the time shown on a clock with the approximate local time observed. The simplest description is as an offset from UTC - Universal Time (Coordinated) - although often erroneously described as an offset from GMT - Greenwich Mean Time. GMT can describe the time zone used in Britain, or a specific offset (UTC+0). The issue is complicated by Daylight Savings Time; some locations observe Daylight Savings whereas others do not. Even when they do, they do not agree on the dates and times at which the changes to and from Daylight Savings occur.

Keeping an accurate record of the time zones used around the world is a hard task. Local administrations make rules about the local offset from UTC, and about whether to observe Daylight Savings, and if so, when. Fortunately, Windows has a database of time zone information installed on every system. Unfortunately, Microsoft failed to provide an API for querying this database.

In addition, Windows provides APIs for discovering the currently selected time zone, for converting from UTC to a specified time zone's local time, and (Windows XP and Server 2003 only) for converting from local time, in a specified zone, to UTC.


.NET's Base Class Library offers the System.TimeZone class. This class offers information about the current time zone. However, it does not offer any information about other time zones - what their names are, their offsets, or their daylight savings rules. This class is abstract, so could be extended. I have not yet done so as some features (GetDaylightChanges, IsDaylightSavingTime) will be difficult to implement, while others (ToUniversalTime) can be implemented with OS support, but only on newer operating systems...."


I'll need this ...

I already have a VB6 Time Zone API wrapper class, but when we move to all .Net I would like to replace it with a better implementation.

USysWare DPack Home (1.3.2 Released)

USysWare DPack Home

"Welcome to USysWare DPack web site! DPack is a FREE collection of Microsoft Visual Studio 2003 add-ins. DPack includes:

Code Browser add-in (screenshot, updated)
File Browser add-in (screenshot)
Framework Browser add-in (screenshot)
Code Navigation add-in (screenshot)
Bookmarks add-in (screenshot)
Surround With add-in (screenshot)
Delphi Keyboard Mapping Scheme

DPack 1.3.2, 376Kb, Free (released on November 14, 2004, updated)"

"...here's what's new in this release:

Code Browser add-in - introduced new member access visibility buttons to Code Browser add-in dialog. New buttons allow for additional member list filtering based on member access level visibility (Public, Internal, Protected and Private)."

The cool DPack has been updated to 1.3.2...

Saturday, November 13, 2004

Free icons and graphics from EggheadCafe and Lokas

Free icons and graphics from EggheadCafe and Lokas

"EggheadCafe has Free Icons And Graphics For Professional ASP.NET Web Applications:

In partnership with Lokas software, EggHeadCafe.com is providing you with a wide array of business oriented graphics and icons. No license fees, no royalties, and no restrictions. Best of all, all of the graphics have transparent backgrounds that you can adjust in programs like Macromedia Fireworks or Adobe Photoshop..."

Very cool... I can always use free, good icons.

Friday, November 12, 2004

MSN + AI

MSN + AI

An interesting way to waste time... I need to show this to my son, but not tell him it's a bot... :|

Download details: Office 2003 Tool: WordprocessingML Transform Inference Tool

Download details: Office 2003 Tool: WordprocessingML Transform Inference Tool

"This command line tool, the XSLT Inference tool, helps you easily create XSL Transformations (XSLT) that quickly transform XML files into WordprocessingML documents with complex and rich formatting.

The process begins with a raw XML file that is representative of the XML files you wish to transform. This XML file is opened in Microsoft Office Word 2003 and each of the XML elements can then be formatted to represent how similar XML files should be formatted when opened in Word, in effect creating a WordprocessingML formatting template. The saved WordprocessingML version of this file is called a 'seed document', and is used as the input to the XSLT Inference Tool."

Interesting...

ComputerZen.com - Scott Hanselman's Weblog - Scott's List of Ultimate Visual Studio.NET AddIns

ComputerZen.com - Scott Hanselman's Weblog - Scott's List of Ultimate Visual Studio.NET AddIns

Great list of VS.Net Addin's...

Thursday, November 11, 2004

An attention-getting resume

An attention-getting resume

"JY found the most original resume I've ever seen. ...."

Nice... I wish I was this visually creative...

Application Event Handler Component (AEHC)

Ever wondered writing an HTTP Handler for WinForms

"Today, I am writing an Application Event Handler Component (AEHC) for any WinForm Application in .NET. AEHC is an event handler for your winforms application, The primary functionality of this component is to raise an event after every forms load into memory. So that we can handle its event for performing any custom code processing and return the control to the form after processing.

Let's consider a scenario, While implementing security into our application, we may have to disable or enable certain controls on every form according the role of the user accessing the form. For this we will call a custom method [for an instance AuthorizeMe()] to perform custom authentication and authorization from each and every form in our application. Suppose if in any case we forget to call its method from one of our form, in result there will be no security applied to that form.

Now, with AEHC we only call the method AuthorizeMe() once per application from AEHC and then its AEHC's responsibility to execute AuthorizeMe() every time, after the form is loaded.

..."

Interesting. Seems like the Application events in VB2K5 but extended... I like the concept and can see a number of ways these (form loaded/unloaded events) and related events could be useful.

Will be watching as this matures.

Update #1 11/15/2004 @ 5:24 PM PST:
Looks like he's done....

He's also done a nice write up on CodeProject, http://www.codeproject.com/vb/net/aeh.asp

Wednesday, November 10, 2004

Soup to Nuts: Building Windows Forms Applications with .NET

Soup to Nuts: Building Windows Forms Applications with .NET

"Tune in and learn how to build Microsoft Windows Forms applications and Smart Clients in Microsoft .NET. We will take you through all the steps to build an application, as we cover object oriented concepts and delve deep into .NET. During this series of webcasts, you will learn how to create rich user interfaces, access data, and see industry-proven ways to get Windows Forms applications to market quickly. And after viewing the webcasts, you can work hands-on in the MSDN Virtual Lab...."

"Windows Application Development with .NET — Introduction and Essential Concepts — Level 100
User Interface Beauty Tips for Windows Forms Applications — Level 200
Taking Your Windows Forms Application Safely Through Configuration and Deployment to Production — Level 200
Taming the Giant: Managing Enterprise Applications and Large-Scale Development — Level 300
Keeping Threats at Bay—Securing Your Data and Applications with Microsoft .NET — Level 300
In-Depth ADO.NET—Advanced Data Access Techniques for the Power User — Level 400
Complex Problems, Elegant Solutions—Scenarios for the Advanced .NET Programmer — Level 400
+ more..."

Part 1...
"You hear it more and more these days: Microsoft Visual Studio® and the .NET Framework create the platform of choice for a wide range of challenging scenarios. Windows® Forms Applications provide a powerful and extensible solution to help you meet the challenges you face in development. Whether you're new to the subject or you're just looking to fill the gaps in your knowledge, you can't afford to miss David Anthony's top-notch 14-part series "Soup to Nuts - A Practical Guide to Building Windows Forms Applications with .NET." In this first webcast, you will learn background and general concepts behind Windows software development with .NET. We will introduce the .NET Framework and look at how to use the Visual Studio Integrated Development Environment (IDE)."


Adding this to my remote memory space so I can find it the next time I'm asked, "Do you have any good/free sites where I can learn .Net or to program?"

14 sessions, in a series, that appears to walk the watcher through building Windows.Net applications from start to finish.

Also it looks like each lab is linked to a MS Virtual Lab, so the watcher doesn't even need VS installed.

(via Jono's Blog - Windows Forms "Soup to Nuts" Webcast series)

BetaNews | Death Knell Sounds for Nullsoft, Winamp

BetaNews | Death Knell Sounds for Nullsoft, Winamp

"The last members of the original Winamp team have said goodbye to AOL and the door has all but shut on the Nullsoft era, BetaNews has learned.

Only a few employees remain to prop up the once-ubiquitous digital audio player with minor updates, but no further improvements to Winamp are expected...."

This is kind of sad.

sigh..

[enough said]

SourceForge.net: #develop 1.0.2 available for download

SourceForge.net: #develop 1.0.2 available for download

"#develop 1.0.2 available for download
1) Summary

This is another bug fix / maintenance release for the #develop 1.0 branch. Improvements were made to various areas, such as the VS.NET project importer, Forms Designer, code conversion and code completion especially notable is that now MC++ assemblies are supported too, which means you get full code completion for DirectX!

New in this release: Ctrl + Mousewheel text zooming support
http://www.icsharpcode.net/laputa/PermaLink,guid,2489432e-16bc-4bb5-8623-aceebee8a7c6.aspx

Demo feature for those who haven't had to report an exception error:
http://www.icsharpcode.net/laputa/PermaLink,guid,4f25db93-c3cb-4609-9deb-6b7beda24664.aspx


2) Download

http://www.icsharpcode.net/OpenSource/SD/download/

..."

Downloaded....

Query Builder [Outlook - Advanced Find Dialog - Query Builder Tab]

Office Tips and Hints Blog [Outlook - Advanced Find Dialog - Query Builder Tab]

"Query Builder

Find it

Another way to retrieve information in Outlook.

Outlook 2002 and 2003 have an option for filtering dialog called QueryBuilder.

To use it you just need to add the QueryBuilder key to the registry:
Use Regedit to go to the appropriate location.
Right click and choose to add a new Key.
Name it QueryBuilder.
There aren't any other entries that need to be made.

Outlook2002
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\QueryBuilder

Outlook 2003
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\QueryBuilder

The next time you go to Tools>Advanced Find, there will be a new tab for the Query Builder."

While Lookout has replaced Advanced Find for me, I still think this is pretty cool. Given how much time I spend in Outlook (and the number of emails I store there) any free search tip is a good one...

Reporting Services and Sharepoint: WebPart coming soon [SP2]

Reporting Services and Sharepoint: WebPart coming soon

"Tom Rizzo yesterday at SQL Server Connections announced that Reporting Services SP2 is coming soom and it will bring us a SharePoint WebPart to display reports."

Nice...

While there are already 3rd party SharePoint parts for Reporting Services it's nice to see MS provide some too.

Visual Development with Mono, GTK# and Glade, Part I

Visual Development with Mono, GTK# and Glade, Part I

"This multi-part article describes how to use Glade, a development tool that aids in creating a GTK+ based visual interface for Mono applications. Using Glade is a bit like using the visual designer in Visual Studio or Delphi. One big difference, however, is that in Visual Studio you use Windows.Forms to create a .NET GUI interface, while in Glade you use GTK+ to create a visual interface...."

Part I is a background/foundational article that provides a short introduction to Mono, Gnome, GTK# (and Glib, GDK and GTK+).

Tuesday, November 09, 2004

Mozilla releases Firefox 1.0

Mozilla releases Firefox 1.0

Looks like FireFox is out as a 1.0 release. I've been thinking about checking it out and now that it's out of beta it looks like a good time.

Then again, I can't seem to connect to the download site, http://www.mozilla.org/products/firefox/. Could be that everyone with a geek hat is swamping the site... :|

Will try later

Update #1 11/9/2004 9:41AM PST
Site's up. Downloaded (Took a couple tries. The downloads aborted a couple times... again I'm sure due to high traffic...) and I'm all set up.

Now's time to play with it...

Monday, November 08, 2004

nSurvey 1.6 Released

nSurvey

"NSurvey V1.6 is now available from the release download section.

I've added some cool features to support large corporate or universities environment. The most important feature is the support and administration for multi users. As I based everything on my new 'user provider' model you can easily integrate and adapt nsurvey to your existing users or security infrastructure by creating your own user provider.

Another cool feature is that you can create a custom answer type based on your own home made sql queries. This will let you expose and use existing data in your surveys / forms. For those who can't let users do Sql queries you can of course disable this functionality from the web.config.

Here are the change log for v1.6 :

- New "User provider model" that let you unleash any existing infrastructure by implementing
your own security provider to manage nsurvey user logins and authentication modes
- Full support and administration for multiple users / survey admins
- Added roles support to manage rights
- 25+ rights available to secure each single nsurvey feature for each of your users
- Default user provider can be set in "single user mode" to run without authentication and
multiple user management features
- Skip logic rules can be added to hide questions depending on user's answers on previous pages
- Branching rules can now be created based on current and previous pages questions
- Rules conditions have been extended to support equals, contains, greater than and less than
- XML based answer types are now mandatory in the answer process
- Question numbering can now be disabled / enabled from the admin interface.
- The ShowQuestionNumbers property on surveybox has been removed.
- Added a new answer type based on custom SQL queries to retrieve and show data from your own tables / database
- Piping of previous answers, querystring, session, server variables is supported in SQL queries based answer types

Fixed
-----
- Dropdownlist question control didn't check if there was already a selected item in the drop downlist
in case a layout change from single to multiple answers with multiple default answers occured
- Custom answer types description didnt show up in the question answers editor..."

The very cool nSurvey has released v1.6...

Saturday, November 06, 2004

Microsoft Tools for Domain Specific Languages Technology Preview (October 2004 Release)

Microsoft Tools for Domain Specific Languages Technology Preview (October 2004 Release)

"Using this graphical designer, you can create the domain-specific concepts for a custom diagram designer. The underlying technology was used to create the Class Designer and Distributed System Designers in Visual Studio 2005."

This was all over the MS Tech/VS2K5 news a little while ago. Now it's ready for download.

For more info, check out, Domain Specific Language (DSL) Tools and Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools.

Downloaded.

Scheduler now searching on a background thread for time where I can play with this

Virtual PC as the bare Metal OS?

Thinking out loud...

A thought I had when reading the this post from the Virtual PC Guy.

Background: As you know I've recently found joy in using DIFF VHD's. Before really understand DIFF's I would have copies of the a number of guest OS VHD's on my hard drives. So if I needed to play with two different things on Windows XP, I would have two complete copies of Windows XP (copied from a base line that I stored on the network). Then would play with these two copies for a bit... when I was done with them I would delete them and copy down the baseline again.

Well that was just silly.

Now I use Diff's. I copy the baseline VHD down and then create Diff's as needed. One each of these Diff's I do what I need to do, test what I need to test. When I'm done, the Diff is deleted. The baseline VHD is never touched. This is saving me ten's of gigs of drive space.


So take this to the next level.

Problem: Secure local multi-user access has not been a focus of Windows to date. You just need to look at all the hoops you have to jump through to run as a non-Admin (For example my son can't play some of his games unless he's a local admin... Yeah, this is the game author's fault and not MS's but the game author's assumed everyone would/could be local admins and MS hasn't really pushed against that...)

Look at google's desktop search and it's "issues" with install (have to be local admin to install), usage (only one user per machine can use it) and indexing (it indexes all files no matter who owns them).

Look at how easy it is for one local user to jack up the settings for other local users. Look at "Switch Users" on XP and how that doesn't work all that well (at least it doesn't for my family). bla, bla, bla....

Idea for a Solution: What if MS were to reverse what is hosted on what? Instead of Virtual PC running on Windows which runs on the metal, have the OS run on a Virtual PC like thing that runs on the metal.

Every user gets their own Diff (read-write). This is chained to the OEM App's Diff (read only) which is chained to the baseline OS VHD(read only). Now the user can STILL be a local admin, They can totally jack up their environment. They can do stupid things, open every email and install every p2p app on the planet. And nothing they do can effect any other local user of that machine... Only their Diff is effected. The App's Diff and OS VHD are never touched or changed.

If the user's problems get out of hand then just their Diff need be nuked and recreated. Again, no App/OS re-install. Think "protected partition" for the App's/OS

Wrap this into the OS so it's invisible and under the covers. The Loader becomes a shim that loads the the VPC (yeah I know/guess it would have to be totally rewritten...).

Heck the Loader could be in hardware/flashram. The base OS VHD too? So now you have almost instant on and high performance (yeah and high cost since you'd need gig's of flash ram). You also have a "Switch User" that really works with no chance of conflicts.

No more "Nuke everything and reinstall" game. No need to ever reinstall the OS again!


I know there are SO many issues with this. Performance, hardware drivers, compatibility, hotfixes/patchs, 3rd party integration, etc, etc... And yeah it seems a slimy hack... but is it also a road to true secure, protected and isolated local multi-user Windows?

Wednesday, November 03, 2004

Submitted Cool Site List

Mark H, one of my regular readers, recently emailed me a bunch of "Cool Things" links.

Here are just some of them.

http://www.komando.com
The Kim Komando Show

"Kim Komando is the host of The Kim Komando Show, a top-10-rated radio talk show with over 8 million listeners every week. She is also a syndicated columnist, and the author of seven books..." Kim has a bunch of cool links on her page. Tips, cool sites, etc. Just wish her site had RSS feeds.

I can't say how cute this geek is 'cause my wife has the URL to my blog... :|

http://www.wordspy.com/index.asp
Word Spy

"This Web site is devoted to lexpionage, the sleuthing of new words and phrases. These aren't "stunt words" or "sniglets," but new terms that have appeared multiple times in newspapers, magazines, books, Web sites, and other recorded sources"

http://www.jargon.net/
Cool Jargon of the Day

http://www.doubletongued.org/
Double-Tongued Word Wrester Dictionary

Any site that gives me new names I can call people (like "None of my readers are gronks") is cool in my book. Plus this one has a RSS Feed... :)

http://antwrp.gsfc.nasa.gov/apod/astropix.html
Astronomy Picture of the Day

"Each day a different image or photograph of our fascinating universe is featured, along with a brief explanation written by a professional astronomer."

http://www.mentalfloss.com/fact_of_the_day.htm
Mental Floss of the Day

The Know It All in me likes this site... No RSS, but they do have a email subscription option. Thinking about using the email feature of BlogLines for this site...

http://www.kooi.com/bozo/
Bozo Criminal of the Day

People amaze me...


Thanks again to Mark for emailing me these.

Lucene.Net 1.4.0 Beta build-001

Lucene.Net 1.4.0 Beta build-001 is ready

"...Lucene.net.1.4.beta-001-03Nov04.src.zip is now available. This is the first "beta" release where all the NUnit test are now passing except for the 'remote' test (i.e.: those test Lucene over HTTP) and that's because I have not got the chance to set it up to do the test. That is, out of 159 test, 7 are failing -- the remote test are failing due to setup issues.

You can get a copy here: http://www.aroush.net/dotLucene/lucene.net.1.4.beta-001-03Nov04.src.zip ..."

Cool... Nice to see this moving forward...

Also in the SourceForge forums I saw a post about on a C# project that is a web spider for Lucene.Net (so might work as a good how-to for Lucene.Net too).

Search Engine Spider for Lucene

"I started with the cspider application which can be found here: http://sourceforge.net/project/showfiles.php?group_id=64424&package_id=106757

I added some code to build a basic Lucene search index, and currently this code also puts a copy of the text from a page into the Lucene files for the highlighter application to use on the search results page. This application seems to work well for sites with up to about 1000 pages, after that, the Lucene indexes will grow too large to support practical in site searches, and additional optimization would be required.

Additionally I added the ability for the threads to use windows authentication, I have been thinking of a way to let them use forms based authentication, but have not hacked that feature as of yet...."

Tuesday, November 02, 2004

AP Wire | 11/02/2004 | Woman snatches ill man's cherished parrot

AP Wire | 11/02/2004 | Woman snatches ill man's cherished parrot

What can I say? Simi is a dangerous place... :|

ON MY WAY

ON MY WAY

It's posts like this that make me proud to be an American... The all volunteer Army works and it's people Bill Pletch and all the other IRR/National Guard/Reservists and regular Army soldiers that prove it.

PubSub

PubSub

"PubSub is a matching service that instantly notifies you when new content is created that matches your subscription. Using a proprietary Matching Engine, PubSub is able to read millions of data sources on your behalf and notify you instantly whenever a match is made.

The heart of the PubSub service is a powerful, proprietary Matching Engine that makes it possible, for the first time, to match millions of search queries against thousands of new pieces of information every second.

Traditional search stores data and then allows you to find documents within that store of data. PubSub operates by first storing your subscription query, and then watching for new information that matches it. Your query will be checked against every piece of new information passing through our Matching Engine.

Today, PubSub reads over 3 million weblogs, more than 50,000 internet newsgroups and all SEC (EDGAR) filings. In the coming months, we'll be adding many more streams of data, so stay tuned! ..."

More RSS/Atom Fun!

This is pretty cool sounding. I like the "non-standard" items it searchs... SEC, and even Airport Delays! (I don't need to know about Airport delays, but I still think it's cool... and MORE ammo for Feed coolness).

Giving it a try now...

(via E-Bitz - SBS MVP the Official Blog of the SBS "Diva" - Does everyone know about "PubSub"?)

Monday, November 01, 2004

idx3d engine ported to J#

idx3d engine ported to J#

"This is a really cool 3-D graphics engine that was originally authored in Java which has now been ported to J#. You can download the J# version here: http://www.mech.upatras.gr/~robgroup/3D/idx3d/

Thanks to Peter Walser (original idx3d author) and George Birbilis (J# port author) for the link."

For when/if I delve into 3D ...

TurboRisk [Freeware Risk like game]

Freeware

"TurboRisk plays the classic "World Domination Risk" game, where you are battling to conquer the world.

The main features include:
Support for both human or computer driven players, up to ten per game.
Computer players programmable using a subset of PASCAL.
Highly customisable rules.
Smart interface that speeds up cards playing, attacks and troops movements.
Stats window that shows counters for territories and armies.
Optional log window to track the game and/or debug computer players.

TurboRisk is FREEWARE and can be freely used and distributed provided that neither code nor documentation are altered in any way."

I can ALWAYS use a new RISK game... :)

(via Larkware - The Daily Grind 492)

RSS in Government: RSS News Feeds From State.gov

RSS in Government: RSS News Feeds From State.gov

"The U.S. Department of State, Bureau of Public Affairs now provides RSS feeds for top stories from the State Department homepage, daily press briefings, press releases, and remarks by Secretary of State Colin Powell. The RSS feeds are found at:

http://www.state.gov/rss/channels/highlights.xml
http://www.state.gov/rss/channels/briefings.xml
http://www.state.gov/rss/channels/prsreleases.xml
http://www.state.gov/rss/channels/sremarks.xml

You can also subscribe to email mailing lists to receive the full texts of selected U.S. Department of State documents and publications that provide key official information on U.S. foreign policy, notifications of travel warnings, and Foreign Travel Per Diem updates. "

Cool... Having been recently hooked on West Wing (I rented the Complete 2nd season this weekend and had my own little marthon... yeah, I know I need help...) I thought this was cool enough to post about.

Have I said how much I like RSS? :|

Saturday, October 30, 2004

System.IO.Path Class in .NET - ExtremeExperts

System.IO.Path Class in .NET - ExtremeExperts

"In this code snippet I am going to focus on Path class in .NET. This is one of .NET framework class which is not known to many users in .NET, so I am going to explain some of the useful methods provided by this class. Path class performs operations on String instances that contain file or directory path information. Parsing or manipulating a file path previous to .NET release involves quite a lot of work. But in .NET, the path class will greatly reduce the development time by providing various methods to operate on path string.

The members of the Path class enable you to quickly perform some common operations such as determining whether a file name extension is part of a path, combining two strings into one path string, finding filename or extension from a path. You are going to see some of the common operations you will be doing using Path class in this article..."

Part of the fun of moving from VB6 to VB.Net is getting used to the BCL. I use the the FileSystemObject all the time in VB6. While I "could" use that in VB.Net, it seems pretty darn silly too.

This article talks about one of the BCL namespaces that will help me put FSO away...

Friday, October 29, 2004

RSS with C#

RSS with C#

Three RSS C# libraries for RSS...

Might come in handy if I ever get around to the RSS reader I want to write for Outlook (writing one cause I don't want my users to have to buy one and writing one is cooler... :)

(via DarthPedro: Random Thoughts - .NET: RSS C# Library

RSS feeds and how to use them

RSS feeds and how to use them

You know sometimes I think it's funny/weird how few people know about or use RSS feeds... I couldn't do without them now. I guess it's same for those who have Tivo's and now roll their eyes at people who have yet to be hooked. (I'm close to getting my CFO to agree to getting a DVP from our cable company... so close...)

(You may think my wife/CFO is very controlling and that I'm a wimp? Then either you're not married or your wife is better at hiding her true power... :)

(BTW, I AM the king of my Castle, damn it!)

(and I have my wife's permission to say that :| )


My reader (www.bloglines.com) and the feeds I watch have completely changed my online behavior. I used to have a number of Favorites in difference folders (Daily, Weekly, Monthly) that I'd scan through. I'd visually scan each site, looking for new stuff. Wash-rinse-repeat. At most I'd be able to do 20-40 sites in a sitting before my brain would fill.

Now in one sitting I can check the new news and information from over 1000 sites/blogs.

I'm now also watching/reading news from sites that I never visited before, because it's so much easier and efficient. Before it would take minutes if I added a new site to my Daily list and memory space to remember what's new or not. Now it takes less than seconds since I don't get any news from these sites that isn't new.

Also I find myself skipping sites that don't have RSS/ATOM feeds... I guess I'm becoming a Feed Snob. :)

Now the question is why don't more people use RSS feeds? Would having a RSS reader built into, as a standard part of, IE or Outlook help? I bet it would. I know other browsers are adding RSS readers, how long before MS adds the capability?

I think MS is going to have to weigh in before RSS really goes mainstream (mainstream = Wife and Parents comfortably finding, subscribing and reading RSS feeds).

Thursday, October 28, 2004

Amazon.com - Web Services [Office 2003 Research Pane Amazon Addin]

Amazon.com - Web Services

"The Amazon Research Pane download for Microsoft Office 2003 allows you to search for Amazon products from within Microsoft Word or Excel documents, and to insert product information and footnotes into documents and spreadsheets."

Cool free download that adds Amazon searches to the Office 2003 Research Pane.

I see using it more from Outlook than Word/Excel, but that's just me.

(via Amazon Office Research Page)

XML Schema Part 0: Primer Second Edition

XML Schema Part 0: Primer Second Edition

"This document, XML Schema Part 0: Primer, provides an easily approachable description of the XML Schema definition language, and should be used alongside the formal descriptions of the language contained in Parts 1 and 2 of the XML Schema specification. The intended audience of this document includes application developers whose programs read and write schema documents, and schema authors who need to know about the features of the language, especially features that provide functionality above and beyond what is provided by DTDs. The text assumes that you have a basic understanding of XML 1.0 and Namespaces in XML. Each major section of the primer introduces new features of the language, and describes those features in the context of concrete examples.


Basic Concepts: The Purchase Order (§2) covers the basic mechanisms of XML Schema. It describes how to declare the elements and attributes that appear in XML documents, the distinctions between simple and complex types, defining complex types, the use of simple types for element and attribute values, schema annotation, a simple mechanism for re-using element and attribute definitions, and nil values.

Advanced Concepts I: Namespaces, Schemas & Qualification (§3), the first advanced section in the primer, explains the basics of how namespaces are used in XML and schema documents. This section is important for understanding many of the topics that appear in the other advanced sections.

Advanced Concepts II: The International Purchase Order (§4), the second advanced section in the primer, describes mechanisms for deriving types from existing types, and for controlling these derivations. The section also describes mechanisms for merging together fragments of a schema from multiple sources, and for element substitution.

Advanced Concepts III: The Quarterly Report (§5) covers more advanced features, including a mechanism for specifying uniqueness among attributes and elements, a mechanism for using types across namespaces, a mechanism for extending types based on namespaces, and a description of how documents are checked for conformance.

In addition to the sections just described, the primer contains a number of appendices that provide detailed reference information on simple types and a regular expression language."

If you're looking for info on XML Schema, this looks like good reference. Very technical and indepth as you would expect given the source. I like the "real world" approach they've taken.

Networking Windows 3.11 under Virtual PC

Networking Windows 3.11 under Virtual PC

My first networked computer/OS was Windows 3.11... This post brings back some memories.

Remote Control T-Rex Dinotronic

Remote Control T-Rex Dinotronic


Santa, I've been good. Can I have one of these?... Errrr. I mean can you bring my son one of these?

Update #1:
Well my CFO (errrr, I mean my loving wife ;) let me get one for Christmas (as a gift).

This is my first Woot order. We'll see how that goes...

Update #2 11/6/2004:
The T-Rex came in yesterday... Now I have to wait two months before I (um I mean my son) can play with it... sigh.

No problems or issues at all with the order or fulfillment process, so Woot is now on my approved vendor list. :)

Wednesday, October 27, 2004

The CareerXroads Annex: Staying Grounded

The CareerXroads Annex: Staying Grounded

Nice job hunting tips...

I like the active approach that's being presented.

BBC NEWS | Science/Nature | 'Hobbit' joins human family tree

BBC NEWS | Science/Nature | 'Hobbit' joins human family tree

"...The 18,000-year-old specimen, known as Liang Bua 1 or LB1, has been assigned to a new species called Homo floresiensis. It was about one metre tall with long arms and a skull the size of a large grapefruit.

The researchers have since found remains belonging to six other individuals from the same species.

LB1 shared its island with a golden retriever-sized rat, giant tortoises and huge lizards - including Komodo dragons - and a pony-sized dwarf elephant called Stegodon which the "hobbits" probably hunted. ..."

There's a Scenice Fiction story in this...

Microsoft to Ship Photo Story 3 for Free

Microsoft to Ship Photo Story 3 for Free

"On Wednesday, Microsoft will ship Photo Story 3 for Windows, the latest version of its amazing digital photo slideshow utility. However, this version of Photo Story differs from previous versions in many ways, adding a wide range of new functionality. Best of all, it will be made available free to all users of Windows XP."

Cool more free stuff from Microsoft.

Once it's up I'm going to have to give this a try. We've allot of pictures I'd like to do "something" with.

Tuesday, October 26, 2004

SharePoint Developers Road Map:

SharePoint Developers Road Map:

Nice road map for getting someone up to speed to develop for SharePoint.

Gambas - Gambas Almost Means Basic [1.0 RC]

Gambas - Gambas Almost Means Basic

"What is that new animal ? Well, Gambas is a free development environment based on a Basic interpreter with object extensions, like Visual Basic™ (but it is NOT a clone !).

With Gambas, you can quickly design your program GUI, access MySQL or PostgreSQL databases, pilot KDE applications with DCOP, translate your program into many languages, create network applications easily, and so on..."

Interesting... VB like IDE for Linux.

More Cube "Art" ?



Oh I want to make one of these too...

(via Just thought that this was cool. )

Gizmodo : Retro: WW2 Foxhole Radio

Gizmodo : Retro: WW2 Foxhole Radio

Is it weird that I want to build one of these for my desk at work?

Besides kind of cool, the razor blade might come in handy. :|

Monday, October 25, 2004

Creating a Tabbed Interface for your WSS site

Creating a Tabbed Interface for your WSS site

"This was asked in the newsgroups about how to build a tabbed UI in a WSS site. Luckily, there's a great FrontPage component you can use for this that makes building it a breeze. First pick a site you want to add the interface to (or create a new one, doesn't matter). Next open up the default.aspx page in FrontPage 2003."

Very cool posting on how to "tab"ify a WSS page. Looks like a complete walk through with pic's...

Hey command-line junkies: Command Line Parser Updated

Hey command-line junkies: Command Line Parser Updated

"From GotDotNet: “Parsing command line arguments to a console application is a common problem. This library handles the common task of reading arguments from a command line and filling in the values in a type.”

And from Peter Hallam’s blog:

I finally got around to updating my command line parser on gotdotnet. I can't believe its been over a year. This update adds support for customizable help text, formatting of help text to the console window width, and better support for /?. Thanks go out to Jim Foster [JFoster at cskauto.com] for the help text code, and jdmack for the /? code."

Who doesn't need a new/updated command line parser for their .Net app?

;)

beSpacific: 13 Digit ISBN Number Coming in 2007

beSpacific: 13 Digit ISBN Number Coming in 2007

"From the National Information Standards Board (NISO), this announcement ... details plans for the global implementation of a 13 digit ISBN by January 2007."

Good to know for my personal MyBookShelf project. Time to update my data model...

SugarCRM-2.0 Released

SugarCRM-2.0 File Release Notes and Changelog

"Project: SugarCRM: Release Notes
Release Name: SugarCRM-2.0

Notes:
******************************
*SugarCRM Fall 2004 Release *
******************************

Sugar Sales v2.0
October 24, 2004

-=Overview=-
A major facelift and a lot of great new functionality! The Sugar Team is excited to bring you the 2.0 release. As you can see, hiring a UI engineer has taken the application to a whole new level of usability and appeal. Who else has a pink UI? We're also pleased to bring you the Leads module and significant improvements to the Contact module with vCard support and a simplified way of entering a contact, account and appointment in the single "Create from Business Card" screen.

For businesses that rely on Sugar Sales as a mission-critical system, SugarCRM Inc. also provides Sugar Sales Professional which includes many more great features for your business. Significant features include Quoting and Product Catalog for creating customer quotes, Reporting for tracking your business, Calendaring for easier viewing of your appointments, Team Selling with Data Security for managing who can access records and an MS Outlook Plug-In for archiving emails. Sugar Sales Professional also includes exemplary customer support, updates to new versions for a year and more.

You can send us an email any time with your feedback at contact@sugarcrm.com. Our goal continues to be to build the sales automation system that you have always wanted, so your input is vital.

Check out http://www.sugarcrm.com for more details on acquiring Sugar Professional, the latest product roadmap, support forums, detailed product information and much more. We hope you find this a useful tool for building your business.

Enjoy!
The Sugar Team


-=Included Features=-
An overview of the features in this release.

Leads
New to 2.0, put standardized processes into practice to make sure all sales reps use the same, consistent lead qualification methodology. With the click of a button, quickly turn leads into opportunities. With the Sugar Sales Leads module, you can also easily manage rented lists and prospect data separate from your customer data.

Import and Export
Import contacts and accounts from CSV (comma separated values) files. Users can also easily export data from the system to CSV files.

Opportunities
Sugar Sales provides a complete, yet easy-to-use Opportunities module. From deal size to each contact’s role, from listing the competitors to tracking the lead source, sales reps can easily manage each sales opportunity to completion.

Accounts & Contacts
With the Accounts & Contacts module, you can easily enter and update key account and contact information. Tracking and staying in touch with your customers is simply a click away.

Activity & Task Management
Managing your customer interactions is at the heart of a sales automation application. Sugar Sales provides a simple and clean set of tools for quickly tracking tasks, phone calls, emails and meetings.

Notes & Attachments
Easily keep notes on every contact, opportunity or account. New to v1.5, add file attachments to notes.

Home Screen
Focus on the right activities with a quick view of your top opportunities, pipeline, today's appointments and task list.

Dashboard
A picture is always worth a thousand words. With the dashboard module, you can graphically view how your opportunities breakdown by sales stage or industry. New to v1.5, you can customize the charts to display the data you want.

Administration
Easily manage all the users in the system, their passwords, user interface themes and more.
...."


Looks like it's time to check this out again...

Saturday, October 23, 2004

OT: FilePlanet - John Deere American Farmer Demo

FilePlanet - John Deere American Farmer Demo

"Description
This is a demo for John Deere American Farmer, a budget game where you get to farm, farm, farm your life away! "

I don't really know what to say about this game... I'm at a loss for words.

If it wasn't on FilePlanet I'd have thought it was a joke/hoax. Now I HAVE to download and check this out. I mean who wouldn't want to? :|

SQL Server interview questions...

SQL Server interview questions...

Some good interviewee review or interviewer questions for SQL Server DBA positions...

Friday, October 22, 2004

Caveats of the TEXT datatype [SQL Server]

Caveats of the TEXT datatype

Some interesting information on the SQL Server TEXT data type and space used between NULL and an empty string ("").

Given the millions of rows I'm dealing with, a few bytes can make a big difference.

What's nice is the suggested change (setting the "Text in row" on for the table with text and setting the text length way down) can be done without any client code changes.

"...So what does this tell us? I'm thinking that as a best practice, perhaps the text-in-row option should be used for every table with LOB columns, and that it should be set to around 100 bytes. This will still keep row sizes down when larger data is inserted (as it will go off-row), but it will also keep overall IO way down if the amount of rows with LOB data larger than 100 bytes is fairly sparse. "

I agree (once I test this myself :)

Virtual PC Differencing Virtual Disks for Dummies [ie. for Me]

As you all might know I really like MS's Virtual PC 2004. It's one of the best development enhancing utilities I've used in a long time. I use VPC on 2 year old notebook so I'm always looking for ways to improve performance as well as overall ways to better use it.

Well I've been seeing a number of postings (here, here, and here) on using and creating Differencing Virtual Hard drives recently. So I thought I'd give them a try.

Following the instructions in the Help (and posts) I used the Virtual Disk Wizard and created a Differencing disk. Cool, that was easy.

Then all excited (yeah I really need a life) I fire up the Guest OS (in this case XP2) and do stuff on it. Checking the size of the Parent .VHD it's getting bigger! And the Diff disk I just created isn't growing. GRR.

I do all the steps again. And again the same results. GRRR

I read the help again. The posts again. And try again. Same results. GRRRR

I decide it's time to stop and take a walk around my brain and think for a bit. I really read the posts and Help. Take some time to think about the underlying purpose of a Differencing disk.

I realize the problem. It's a "Head space and timing" issue, i.e. I'm a dummy.

The one thing I WASN'T doing was going back to the Virtual PC Console - Settings of the Guest OS and switching the Hard Disk 1 from the Parent VHD to the new Differencing Disk!

Once I did that, everything worked just as it was supposed to. The Differencing VHD grew, the Parent VHD stopped growing, etc.

So simple in hindsight. So logical, given the purpose behind Differencing Disks. So RTFM of me. grrr

Now I'm thinking about deleting my "uber-VHD's" that have everything installed, going back to my baseline images and move forward with Differencing disks.

Note to Self:
One thing I need to look at.... Page files. How best to handle page files when using Differencing Disks? The parent VHD will have a Page file. The Differencing Disks will have a "Diff'ed" page file too. So the Diff's VHD's size will be inflated by the page file.

What about creating a Second Virtual disk for the Guest OS and put the Page file there? That way the Diff doesn't inflate?

Interesting... Trying that now.


Update #1:
While putting the Page file on a second VHD for the page file helped, after thinking about it, it doesn't really make much sense. Yes it keeps the Diff VHD from inflating a little, but the goal of using Diff's at all is to increase the reusability of the original VHD. To allow me to have multiple Virtual PC's on a my PC, pointing to different DIFF's, point to the same Parent VHD.

Guest OS (Office 2000 installed)   -> DIFF01.VHD -> ParentXP2.VHD
Guest OS (Office XP installed)      -> DIFF02.VHD -> ParentXP2.VHD
Guest OS (Office 2003 Installed)   -> DIFF03.VHD -> ParentXP2.VHD

So each of the above Guest OS's would have to have their own PageFile.VHD anyway. The net free drive space gain would be negligible and the admin overhead too much.

Oh well, nice thought anyway.

Thursday, October 21, 2004

NClassifier - .NET Text Classification and Summarization Library

NClassifier - .NET Text Classification and Summarization Library

"What is NClassifier?
NClassifier is a .NET library that supports text classification and text summarization. It is a port of the Nick Lothian's popular Java text classification engine, Classifier4J.

It is a very extensible library consisting largely of interfaces. It includes, out of the box, an implementation of the Bayesian classification algorithm.

This project's goal is yet undetermined. It will at least stay up with Classifier4J, or at the most, could fork into its own direction."

Interesting... Might be useful at work and on my Bookshelf project.

(via Ryan Whitaker - SourceForge, forging ahead with submitting a project)
Which is a also good post on setting up a project on SourceForge.

IFILM - Television: Jon Stewart's Brutal Exchange with CNN Host

IFILM - Television: Jon Stewart's Brutal Exchange with CNN Host

I've seen this interview (John Stewart on Crossfire) blogged about allot. I've finally watched it.

LMAO. John Stewart kills me... MAN, he just doesn't hold back.

John's statement @ 11:49 made me laugh so hard I cried.

(via .NET and other stuff)

SQL 2005 Beta 2 Technical Preview Week, - December 6-10, 2004

SQL 2005 Beta 2 Technical Preview Week, - December 6-10, 2004

The MS SQL Team will be giving a number of free SQL2K5 web casts from 12/6 to 12/10...

I'm signing up for the ones in bold. Mostly stuff that wasn't covered by the SQL2K5 Developmentor course...


MSDN Webcast: Overview of the new Developer features in SQL Server 2005—Level 200
Monday, December 06, 2004
10:00 AM - 11:00 AM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263413&Culture=en-US


MSDN Webcast: Introducing the New SQL Server Management Studio—Level 100
Monday, December 06, 2004
1:00 PM - 2:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263410&Culture=en-US


MSDN Webcast: SQL Server 2005 as a .NET Runtime Host—Level 100
Monday, December 06, 2004
3:00 PM - 4:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263331&Culture=en-US


MSDN Webcast: Introducing XML in SQL Server 2005—Level 200
Tuesday, December 07, 2004
10:00 AM - 11:00 AM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263329&Culture=en-US


MSDN Webcast: Introducing ADO.NET 2.0 for SQL Server 2005—Level 200
Tuesday, December 07, 2004
12:00 PM - 1:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263284&Culture=en-US


MSDN Webcast: T-SQL Enhancements in SQL Server 2005—Level 200
Tuesday, December 07, 2004
3:00 PM - 4:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263333&Culture=en-US


MSDN Webcast: The New Security Model in SQL Server 2005—Level 200
Wednesday, December 08, 2004
10:00 AM - 11:00 AM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263278&Culture=en-US


MSDN Webcast: Introducing Web Services in SQL Server 2005—Level 200
Wednesday, December 08, 2004
1:00 PM - 2:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263307&Culture=en-US


MSDN Webcast: Introducing Service Broker in SQL Server 2005—Level 200
Wednesday, December 08, 2004
3:00 PM - 4:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263310&Culture=en-US


MSDN Webcast: Introducing Reporting Services for SQL Server 2005—Level 200
Thursday, December 09, 2004
10:00 AM - 11:00 AM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263310&Culture=en-US



MSDN Webcast: Introducing SQL Server Integration Services for SQL Server 2005—Level 200
Thursday, December 09, 2004
1:00 PM - 2:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263315&Culture=en-US


MSDN Webcast: Introducing SQL Server 2005 Analysis Services for Developers—Level 200
Thursday, December 09, 2004
3:00 PM - 4:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263432&Culture=en-US


MSDN Webcast: Introducing Full-Text Search in SQL Server 2005—Level 200
Friday, December 10, 2004
10:00 AM - 11:00 AM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263298&Culture=en-US


MSDN Webcast: Introducing Replication in SQL Server 2005—Level 200
Friday, December 10, 2004
1:00 PM - 2:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263301&Culture=en-US


MSDN Webcast: Introducing Notification Services in SQL Server 2005—Level 200
Friday, December 10, 2004
3:00 PM - 4:00 PM PT
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032263435&Culture=en-US

Free Software from Microsoft - Microsoft Partner Pack for Windows XP

Microsoft Partner Pack for WIndows Web Site

"Thank you for choosing to get the Microsoft Partner Pack for Windows XP. The Partner Pack is the ultimate application package for your Windows XP PC. Install this package and you will be able to play new games and have more fun, explore the internet in new ways, keep in touch and share information with friends and family, better protect your PC and do more with tools and desktop utilities. You can either download this software package for free or get a CD (and pay just for Shipping and Handling).

Play
Super Slyder™
Serpentine™

Share
PhotoSite™
Microsoft Time Zone Windows XP is required for this application

Protect
Computer Associates eTrust™

Explore
Google Deskbar™
Desktop Media Gallery™
Onfolio Express

Do More
Post-it® Software Notes
PayPal Payment Wizard
Microsoft USB Flash Drive Manager Windows XP is required for this application"

Lots of free stuff from MS. I think the free antivirus (CA's eTrust) is a cool option.

With all this cool stuff, this looks looks like a must have download.

(via Neowin.net - Microsoft Partner Pack for Windows XP)

Coding Horror: KISS and YAGNI

Coding Horror: KISS and YAGNI

"...As developers, I think we also tend to be far too optimistic in assessing the generality of our own solutions, and thus we end up building elaborate OOP frameworks around things that may not justify that level of complexity. To combat this urge, I suggest following the YAGNI (You Aren't Gonna Need It) doctrine. Build what you need as you need it, aggressively refactoring as you go along; don't spend a lot of time planning for grandiose, unknown future scenarios. Good software can evolve into what it will ultimately become..."

So, so true.

I have a Stupid Stick that I beat people with (including myself sometimes) to make them stop build UBER-Solutions to Simple Problems (USSP). I mean how much code do you really need for a Options dialog that has 1 control on it? I mean really, it doesn't need a Options Framework and SDK.... :|

As I heard somewhere, "Keep it simple in the beginning. It will get complicated all by itself over time..." Also I like Einstein's saying, "Keep it as simple as possible, but no simpler".

Which when I apply it to software development means to not build a uber-framework "just in case we need to add stuff for some reason in the future, here's this cool massive infrastructure of code that took me a week to build when adding the feature could have been done in a hour..."

If you need a framework, then build it. But don't build it JUST IN CASE you need it.

Wednesday, October 20, 2004

Do you want to see something seriously cool?

Do you want to see something seriously cool?

"Check out the MS vLabs at http://www.microsoft.com/technet/traincert/virtuallab/default.mspx. There's a short registration process, but no email verification. The vlabs provide you with a script and then let you open a pre-built Virtual Server instance in your Web browser. These aren't demos - these are fully functional server instances. "

Very cool...

Tuesday, October 19, 2004

NicePanel [Free WinForm.Net Component]

PureComponents NicePanel for .NET WinForms

"PureComponents NicePanel for .NET WinForms V1.0
PureComponents NicePanel is container component of active look, which will enrich your applications. NicePanel has header and footer, which widen its usage. Using gradient fill and color schemes you can easily and quickly set nice look, which can be further enhanced with images from integrated Clip Art or from file.

Why NicePanel is free?
PureComponents create high quality .NET components of high technology standard and with high added value. To show our fellow developers our high standards of work and to show that you can rely on our products and services, we have decided to give you very useful commercial component for free. Component which is universal in the way how to use it, component that you can use in your projects instantly and use it in your every day work and to see for yourself the quality that PureComponents deliver."

I like free... I also like anything that helps me create good looking apps (and that is free :)


(via WindowsForms.com Control Gallery)


What do I do?

What do I do? I work at KPMG, in the Cypress Technology Center (CTEC) office.

I'm the Development Manager/Primary Developer for our EDD service line. Taking "electronic data" (files, emails in PST/NSF's,etc) gathering metadata, deduping, converting to PDF/Tiff/JPG and exporting for loading into litigation support systems.

That's been my baby for four years now. It's great resume-ware to say I've designed and built and improved (ie. the whole life cycle management) a system that has generated ten's of millions of pages (we've had 30 day periods where we've processed and generated 10+ million images), processed hundreds of gig's of data, millions of emails, etc, etc...

I can't state any client names, but you seen many of them in the news... ;)

Since we're a "service broker" we can be very responsive to client needs. From day one all of our features have been client demand driven. Which makes for a great set of features. This also makes my life a living hell (err... um... I mean very exciting and challenging... yeah, that). Sigh... I guess that's why they call it "work".

Well back to it.

Office Developer Center: Integrating BizTalk Human Workflow Services with InfoPath 2003

Office Developer Center: Integrating BizTalk Human Workflow Services with InfoPath 2003

"Summary: You can take advantage of features in Microsoft Office InfoPath 2003 Service Pack 1 to integrate Human Workflow Services (HWS) functionality (part of Microsoft BizTalk Server 2004) with your InfoPath forms and create workflow solutions. Learn some tips for developing a BizTalk orchestration when InfoPath is the target client application, and read about best practices for designing and developing an InfoPath solution around HWS. (8 printed pages)"

I'll want to check this out when I get to workflow design phase of v2 at work...

Monday, October 18, 2004

Tip on Regions [VB.Net Template Class]

Tip on Regions

Handy little tip on how to update the default class template for VB.Net, adding those defaults you always seem to add for each class.

"ONIX is an acronym for ONline Information EXchange" and My Book Shelf Application

ONIX

"ONIX is a standard format that publishers can use to distribute electronic information about their books to wholesale, e-tail and retail booksellers, other publishers, and anyone else involved in the sale of books."

I want to take a look at this information, primarily the 2.1 Specification to see if there's anything interesting.


I'm working on a personal project (tentatively titled, "My Book Shelf") to track my paperbacks. Mostly to keep my skills fresh and as a "resume ware" product. Plus my brain is full and I am having a hard time remembering what's I've already read, what book in a series I still want to read, where my books are, etc, etc.

I finished my v1 data model this weekend and am now working some code proof of concepts to validate it...

My primary feature is a graphically book cover browsing utility. I want to be able to see a "virtual" bookshelf. Then as I hover over a book, or click on it, I get more info/options (maybe drag and drop books into "storage" locations [book x is in box #11]? Or onto "people" when I lend a book?). I want an smart client app that mimics the feeling of browsing books in a bookstore or library.

At least that's the plan. I've got the webservice hook to Amazon in place and am now storing/caching the book covers in my SQL DB as blobs. This coming weekend I'm starting on the browser...

(Via ISBlogN - Whither Onix?)

Saturday, October 16, 2004

Introducing the ASP.NET 2.0 Web Parts Framework

ASP.NET Development Center Home: Introducing the ASP.NET 2.0 Web Parts Framework

"Summary: Web Parts provide you with the infrastructure for creating customizable Web applications. When you build a Web site with Web Parts, the Web site can be easily customized by either the administrator of the Web site or the individual users of the Web site. Web Parts are all about flexibility. (54 printed pages)

Contents
Introduction
Building Web Parts
Personalizing Web Parts
Creating a Custom Web Part Menu
Communicating Information Between Web Parts
Importing and Exporting Web Part Settings
Conclusion

Introduction
In this article, you are introduced to the Web Part framework. You learn how to create Web Parts and add them to a Web page. This article also discusses several advanced features of Web Parts. For example, you learn how to share Web Part settings across applications by importing and exporting Web parts and you learn how to add custom menu verbs to Web Parts. You also learn how to communicate information between Web Parts by connecting different Web Parts in a Web Page."

I dig the web part concept and it looks like MS is really going to keep them around for a while (you know you never can be sure...). MS is taking Parts out of SharePoint and is making parts available for the masses in ASP 2.0.

Time to start thinking about how they can be used in future apps...

Friday, October 15, 2004

Enterprise Logon Scripts

Enterprise Logon Scripts

A 76 page Word Doc all about logon scripts...

Here's the table of contents.

"Introduction 4
Choosing a Logon Script Solution 8
Comparing Logon Scripts with Alternate Solutions 12
Understanding When Logon Scripts Do Not Run 16
Configuring Client Computers 20
Assigning Logon Scripts 23
Assigning Group Policy Logon Scripts 23
Assigning Domain User Logon Scripts 28
Assigning Local User Logon Scripts 33
Writing Logon Scripts 35
Testing Logon Scripts 36
Encoding Logon Scripts 38
Recording Logon Script Data 40
Appendix A: Logon Script Tasks 42
Determining the Computer Role 42
Retrieving User and Computer Names 44
Retrieving OU and Site Names 48
Determining Group Membership 50
Mapping Network Drives and Connecting to Printers 51
Determining the Operating System Version 54
Checking for Service Packs and Hot Fixes 54
Retrieving Members of the Local Administrators Group 56
Disabling the Guest Account 58
Checking Service States 58
Retrieving System Information 60
Taking Inventory of Installed Software 62
Working with Special Folders 65
Enumerating Autostart Programs 68
Listing Shared Folders 69
Appendix B: Sample Logon Script 71
Appendix C: Debugging Scripts 73"

Logon scripts have been around for about forever, but this looks like a good source for some updated info on them.

Google Desktop Search

About Google Desktop Search

Well FileHand is out and Google Desktop Search is in...

I'd like to be able to customize the file types more, paths,etc but so far I'm pretty happy with it (and heck, it's just a beta).

Also it would be nice if the google apps (GDesk, GMail Notify,etc) would "combine" in some way to help save systray space simplify preferences, etc. Some kind of host/plug-in concept. Have a single GApp host where the difference "G" apps plug into, etc.

We'll see.

Wednesday, October 13, 2004

Eric's Big List Of Outlook Links

Eric's Big List Of Outlook Links

Ton's of outstanding Outlook links. And I mean tons. From API links to utilities, tools, pub's, FAQ's, etc.

Extended MAPI with C#

Extended MAPI with C#

Nice article on using Extended MAPI from C#...

(via Eric's Big List Of Outlook Links)

The Code Project - Aumplib: C# Namespace And Classes For Audio Conversion

The Code Project - Aumplib: C# Namespace And Classes For Audio Conversion

"Introduction

Aumplib (fully qualified name: Arbingersys.Audio.Aumplib) is a namespace of various classes that provide audio conversion capabilities, and can convert between many audio formats, including MP3. Aumplib provides an OO interface to several prominent Open Source projects using P/Invoke. These projects are LAME (MP3 encoding), libsndfile (non-MP3 audio formats), and madlldlib/libmad (MP3 decoding). It supports conversion between a large number of audio formats, and in the future should support even more.

Background

Aumplib was designed to provide a clean, easy, and powerful audio conversion interface in C# to prominent Open Source audio conversion libraries (which were written in C/C++). These libraries have existed on the Internet for some time, but were not readily usable by C# programmers because the data structures were not clearly mapped or they were not in DLL form. Aumplib 'wraps' these libraries using P/Invoke and offers various objects that simplify using them. "

Interesting...

THE DYNAMITE CLOCK

THE DYNAMITE CLOCK

"Over the years our world famous "Dynamite Clock" has repeatedly made the news due to it's super-realistic appearance. Designed by a REAL demolitions expert, each unique piece is and hand assembled one-at-a-time. Each of these works of art will instantly command anyone's attention. Talk about a conversation piece... Each clock features multiple sticks of dynamite (simulated), and realistic explosives wrapping paper. We then attach a hi-quality digital clock, motion sensor (mercury switch), circuit board with functional L.E.D. lights, a speaker, battery power supply, and top it off with a de-activated detanator pin. Once the battery has been connected the unit will be "set-off" if it is moved, jostled, or picked up in any way. The red L.E.D. lights blink, the buzzer sounds, and the poor fool who moved it will need a change of underwear! We gurantee this to be the most realistic and unique bomb clock that you will ever see!!! One member of the elite FBI bomb squad personally told me that this was the absolute best simulated explosives device he had ever seen! (Unfortunately, this Special Agent was was not smiling when he told me this.) Shortly before speaking to me, the nice Special Agent had just finished evacuating the building and had very carefully "dis-armed" our clock. (The clock had been given to a public official as a gift and was sitting on his desk when a cleaning lady spotted it and called the police...) This is the ultimate conversation piece. Truly unique and available ONLY from us! Quantities are limited. Order yours today.

WARNING: This device is sold as a novelty desk clock ONLY. It is not to be used as a joke, prank, or hoax bomb. Period. Criminal charges will undoubtedly apply if misused."

Any clock with a warning like that just HAS to be on my x-mas wish list... :|


(via Gizmodo : Dynamite Clock)

Download details: Microsoft Virtual PC 2004 Service Pack 1

Download details: Microsoft Virtual PC 2004 Service Pack 1

"Microsoft Virtual PC 2004 Service Pack 1 (SP1) contains the latest software updates for Microsoft Virtual PC 2004 that improve the reliability, performance and manageability of Virtual PC. Updates have been made to improve the performance of Windows XP Service Pack 2 as a guest in Virtual PC, to improve the manageability of virtual machines when used with SMS 2003 Service Pack 1, and to provide support for running Windows Server 2003 Standard Edition as the host operating system.
...
Important: You must shut down or turn off all guest operating systems before installing SP1. This ensures that there are no virtual machines in a saved state. This is important because saved states are not compatible between SP1 and all previous versions of Virtual PC 2004.

Service Pack 1 includes an updated version of Virtual Machine Additions. You should update the version of Virtual Machine Additions on all virtual machines where Virtual Machine Additions is installed. For more information, see "Installing Virtual Machine Additions" in Virtual PC Help. "

VPC 2004 SP1 is now available...

Downloading now. I'm looking forward to the XP2 guest OS performance fix (which is from on the updated Additions from what I've read).

Monday, October 11, 2004

FavoriteSync [IE Favorite's Sync Utility]

FavoriteSync.com

"FavoriteSync keeps Internet Explorer Favorites on several computers in sync. Your Favorites at home, in the office and on your laptop can always be up to date and in sync. You will never have to manually export , send and import Favorites again.

Best of all FavoriteSync is FREE!! And with free means no adware, spyware, nagware, trial periods or other hidden annoyances. Enjoy a simpler life!! "

Interesting... I'm giving this a try. (You see I don't have enough stuff in my system tray and running in the background... :)

Actually I do hate playing the Sync Fav's game and all the other services I've tried have done too much (Pluck, Spurl, etc). I just want an easy way to sync my Favorites on a couple machines, and this utility looks like it does the job. We'll see.

(via shahine.com/omar - Favorites Synchronization Software)

Getting Outlook to shut down [when you create a managed add-in]

Getting Outlook to shut down

"I’ve had a number of people ask me how to get Outlook to shutdown properly when you create a managed add-in for it. I alluded to this issue briefly in my last blog. The OnDisconnection method you implement in your add-in’s implementation of IDTExtensibility2 doesn’t get called if you have outstanding variables that are still holding Outlook objects.

The secret to getting OnDisconnect called and your add-in unloaded is to listen to Explorer & Inspector close events, and when the last Explorer or Inspector has closed, you make sure you set all the variables that are holding Outlook objects to null. I also force a garbage collection after setting the variables to null to ensure that my add-in isn’t holding onto Outlook objects because of objects still waiting to be garbage collected.

Here is a little helper class that I wrote that you can create from your main Connect class in an add-in. ..."

Some good information for when I get to writing Outlook add-ins in .Net.

Friday, October 08, 2004

UI Patterns and Techniques: Introduction

UI Patterns and Techniques: Introduction

"If you've done any Web or UI design, or even thought about it much, you should say, 'Oh, right, I know what that is' to most of these patterns. But a few of them might be new to you, and some of the familiar ones may not be part of your usual design repertoire.

Each of these patterns (which are more general) and techniques (more specific) are intended to help you solve design problems. They're common problems, and there's no point in reinventing the wheel every time you need, say, a sortable table -- plenty of folks have already done it, and learned how to do it well. Some of that knowledge is written up here, in an easily-digestible format.

By the way, when I say 'UI,' I mean Web sites, desktop applications, and everything in between (Web forms, Flash, applets, etc.). I believe that over the next few years, Web applications will become more richly interactive than they are now, and the smartest Web designers will use the desktop world's hard-won knowledge of how to design good interactive software. Likewise, desktop applications will gradually look more like Web sites, with better graphic design and more Web-style navigation. I will make no assumptions about how or when they will converge -- they may not, ultimately -- but stylistically, there is some common ground already. Thus, you will see examples from both worlds in here.

These patterns are intended to be read by people who have some knowledge of UI design concepts and terminology: dialogs, selection, combo boxes, navigation bars, whitespace, branding, and so on. It does not identify many widely-accepted techniques such as copy-and-paste, as you probably already know what they are. But, at the risk of belaboring the obvious, some common techniques are described here to encourage their use in other contexts -- for instance, desktop apps could make better use of Toplevel Navigation -- or to discuss them alongside alternative solutions.

(Many of these patterns were originally written by other people in the field. Where appropriate, authors are credited in the pattern descriptions.)

If you're running short on ideas, or hung up on a difficult design quandary, read over these and see if any of them are applicable. And don't take them as the gospel truth, either -- what matters is whether your design works for your users."

This is cool... I need all the UI help I can get and this site seems to provide clear UI ideas and patterns.



(via DarthPedro: Random Thoughts - .NET: UI Visual Patterns)

Open Lucene.NET - The Open Source Search Engine

Open Lucene.NET - The Open Source Search Engine

Scott Water has posted that Lucene for .Net is back. His post says it all.

"Sweet. It looks like someone has re-opened the Lucene.Net project as DotLucene. For those of you who did not hear, Lucene.NET was an open source implementation of Lucene (which is also open source). However, at some point, the project owners decided to close the project and form a new company to sell the code as a product. I have been using the OS version of Lucene for a while now (there was another implementation prior to Lucene.Net as well), so I was a little bummed to see it go away. I had also started to do some writing on the .NET version, until the project disappeared. Looks like I can now finish that work and get it published some where."

Yes, very sweet.

Seems like there are better samples, API doc's, tools, etc now too.

Time to start playing with this again. :)

(via Scott Watermasysk - Open Lucene)

Thursday, October 07, 2004

GMail Drive shell extension

viksoe.dk - GMail Drive shell extension

"GMail Drive is a Shell Namespace Extension that creates a virtual filesystem around your Google GMail account, allowing you to use GMail as a storage medium.

GMail Drive creates a virtual filesystem on top of your Google GMail account and enables you to save and retrieve files stored on your GMail account directly from inside Windows Explorer. GMail Drive literally adds a new drive to your computer under the My Computer folder, where you can create new folders, copy and drag'n'drop files to. "

Interesting... I've seen the Linux GmailFS. Now there's a Windows utility/extension that lets you use your gmail account as a remote file system.

I'm thinking Google is going to squash this kind of usage of GMail accounts (it takes a bit to fill 1GB with emails, but as a remote FS I can fill it in minutes), but until then this is pretty cool.

(via WhoIsKB - Kevin Blakeley - Gmail Drive, How Cool! BTW 6 invites )

Creating a Simple Demo with Axiom - CodeCube.Net

Creating a Simple Demo with Axiom - CodeCube.Net

"The Axiom engine is an open source 3D graphics/game engine written in C#. It has bindings for rendering with OpenGL and Managed DirectX. This article takes you through the process of creating a simple demo. It should be enough to get you up and running and whet your appetite.

I kept trying to find some sort of business case to have an excuse to write something about Axiom, after all, it's a "game" engine. But you know what? screw it ... what ever happened to the days where I would code something just for fun? well, I gotta tell ya, they're coming back. I long to have fun programming again, and for anyone who has every looked at a video game and secretly wished they could do the same, this one's for you ;-)

The purpose of this isn't to show you how to make games, or even really anything about 3D ... I'll save that for another article. The purpose is to walk you through the process until you've got a development process going, and you are able to run your own code. As with many articles of this type, we're simply going to be taking some existing code, copying it, and modifying it. That will show you what you have to do, and what you have to hook into to get something going."

Cool... I actually have a good business case for 3D (well in my mind it's a good business case :)

Slovak Technical Services Attachment Options [Outlook Attachment Security Utility]

"Attachment Options is a COM add-in for Outlook 2000 SP3 or higher, Outlook 2002, and Outlook 2003 that provides a user interface for changing which file types are restricted as Level 1 attachments. Level 1 attachments are hidden by Outlook, and cannot be seen, saved or opened from Outlook items. Moving an attachment extension to Level 2 enables the user to see the attachment and to save it to the file system. The attachment saved to the file system can later be opened by the user."

Pretty cool. Installs as a COM addin to Outlook. On the Tools/Options menu, it adds a new tab to the dialog and allows you to change the security for given blocked/level 1 restricted extensions.

Doesn't totally open your system up. Just helps you "unhide" selected file extensions.

For example, if you receive Access databases, you will find that Outlook hides them from you. With this utility you can adjust Outlook so it will now show you the MDB attachment allowing you to now open or detach the MDB.

Beyond "From" and "Received": Social Sorting for Email Triage

Beyond "From" and "Received": Social Sorting for Email Triage

Interesting research I might be able to use...