Saturday, May 07, 2005

Advanced Search Tools v1.0.1

Justins web page

"The main objective of this project is to develop a tool or set of tools that would allow a user to easily construct advanced search queries for online resources. The primary online resource in mind for this project is the Google search engine, accessed programmatically through its freely available API.

... One aspect of this project will focus on generating keywords to help assist a user with future searches and the other main focus will be to provide a clean and efficient interface for performing advanced searches.

The increased reliance on search engines for online resources increases the need for a tool such as this to help optimize the searching capabilities of users. An efficient
utility primarily focused on searching would be enormously useful. The main purpose of this project is to discover and provide techniques to increase the effectiveness of
searching for online resources."


C# Google API wrapper...

Friday, May 06, 2005

Print Management (MMC Snap-in)

Download details: Print Management

"Print Management provides up-to-the-minute details about the status of printers and print servers on the network. You can use Print Management to install printer connections to a group of client computers simultaneously. Print Management can help you find printers that have an error condition by using filters. It can also send e-mail notifications or run scripts when a printer or print server needs attention. On printer models that provide a printer Web page, Print Management has access to more data, such as toner and paper levels, which you can manage from remote locations, if needed."

Now this sounds interesting. There have been times in the past where I (and a good friend) could have used this...

Better late than never I guess.

Using Open Source .NET Tools for Sophisticated Builds

15 Seconds : Using Open Source .NET Tools for Sophisticated Builds

"... Building an application can be more than pressing F5. Much more. With an increasing number of quality packages being released, developers for the .NET platform now have options to create a very sophisticated build process. This article describes a sample build environment and shows how a number of tools can work together to make reliable, predictable, and value added builds.

...

Setup the build environment
Build a "program" solution with Visual Studio .NET
Create first NAnt build file and build
Build a "test" project with Visual Studio .NET
Add NUnit tests to build
Validate coding standards during build with FxCop
Create API Documentation during build with NDoc
Add the solution to VSS source control
Add SCC control to the build file
Add versioning
Use CruiseControl.NET to monitor and manage the build process

..."


A cool article that talks about creating a pretty sophisticated build process using NANT, NAntContrib, NUnit, NDoc, CruiseControl.Net, FxCop and Visual Source Safe.

I wonder how close this will be to NTeam in the end?

In any case, given the silly (IMHO) Visual Studio Team System pricing, I think I'm going to take a close look at this article.

(If VSTS Server was part of the new MSDN, there'd be no question of using it... But the way it is now, I just don't see my place paying for the Server... ["VSS has been good enough so far, why should we pay for..."]... sigh)

Virtual Server Migration Toolkit (VSMT) Guidelines

John Howard : Virtual Server Migration Toolkit (VSMT) Guidelines

"If you're interested in using VSMT (Virtual Server Migration Toolkit) for migrating a physical machine into a virtual machine, there was a new KB article posted up a few days ago which gives you some general guidelines.
...
If you want to see the VSMT steps through a series of blogcasts, have a look here ... "


I've not used VSMT yet, but keep thinking about it. I have used Ghost a couple times to migrate a machine to a Virtual PC image and now that I know the tricks (local admin password resetting, HAL replacing) it's pretty easy. Using VSMT seems a little complicated, but in the end looks like a more stable and reliable approach.

Post Post XRef:
Microsoft Virtual Server 2005 Migration Toolkit Beta

Using SQL Where Clauses for Searching

Using SQL Where Clauses for Searching

"...
if len(@firstname) > 0
set @where = @where + " AND firstname LIKE '" + @firstname+ "'"

if len(@lastname) > 0
set @where = @where + " AND lastname LIKE '" + @lastname+ "'"

--uggggh

This is time consuming and doesn't allow SQL server to optimize your queries. And it just isn't fun :).

Now check this out. Using our trusty COALESCE, we can get it all in one SELECT:
SELECT * FROM Customers
WHERE
ISNULL(firstname,'') = COALESCE(@firstname,firstname, '')
AND isnull(lastname,'') = COALESCE(@lastname,lastname, '')
AND isnull(phone,'') = COALESCE(@phone,phone, '')
AND isnull(email,'') like COALESCE(@email,email, '')
AND isnull(address,'') like COALESCE(@address,address, '')"

..."


I've seen this technique posted a couple times, but this post does a great job of explaining the idea and concepts behind it. Thereby warrants being added to my remote memory store for later reterival...

Thursday, May 05, 2005

Project Scheduling Games...

Managing Product Development

"Schedule Game #8: Pants on Fire

You're a project manager. Your project is proceeding fairly well. You've had a few bumps, but you're making progress. You come into work one day, and there's a message to meet with the Big Cheese. Big Cheese says, 'Stop working on that project. Start on this one!'

Not only does this happen once, it happens several times, either bouncing you and the project team among several projects, or back and forth between two projects. Whatever the circumstances, you're multi-project multi-tasking, and so are all the people on your project team. You know you're not making progress on anything, and the urgency of all the projects keeps going up and up and up...

This schedule game is called 'Pants on Fire.' It occurs when management is afraid to focus on one thing at a time. It has several possible causes: when the technical staff has a track record of being late, when there's no corporate strategy, or when the corporate strategy hasn't been broken down into sufficiently-detailed tactics. ..."


Oh yeah, played this one (well been played on this one)

[rant]
I call this yoyo'ing. Going back and forth on different projects or priorities/features on the same project.

We need THIS feature NOW (hours/days spent working that feature pass)...
No, we need THIS feature NOW (hours/days spent working that feature pass)...
No, we really need THAT feature (hours/days spent working that feature pass)...
etc, etc.

One way I've found to handle this, is always be clear as to the costs of these changes. Costs in man-hours and release delays. You usually don't have to say "No" if you clearly communicate the costs. Also always keep the project sponsor in the loop.
Either the requester/project sponsor backs out or understands and you continue. If they want to eat the costs, well they ARE the reason for the project...

Communicate open, honestly and often.
[/rant]

Check out some of these other "games" at Managing Product Development. What's cool is that Johanna provides suggestions on how to work around/consider/with/etc each one.

(via Bill Brelsford - Schedule Games)

Wednesday, May 04, 2005

Google Web Accelerator

Google Blog

"... This calls out loud and clear for a way to optimize time. One mundane time-waster we all contend with, for example, is waiting for web pages to load. The tantalizing promise of a web page is only seconds away. But even on broadband, the wait's too short to do something else - and just long enough to be irritating. Let's face it, those seconds add up.

As you may have noticed, we're slightly obsessed with speed around here. When you search on Google.com, your results are returned to you within fractions of a second. And now comes Google Web Accelerator. After you download it, we hope you'll enjoy that same Google-fast experience across the rest of the web. After all, seconds add up to minutes. ..."


I can always use more speed.

Err... um... I mean... speeder web downloads... Yeah. That. :|

Downloaded and installed. We'll see if it does anything for me.

Update #1 5/5/2005 @ 6:00AM PDT:
Uninstalled.

I was having major issues with Bloglines... I don't know if it was this or Bloglines, but as soon as I uninstalled it the problems went away.

I'll installing it again in a couple days.

Guess-the-Google

Grant Robinson : Guess-the-google launcher

"...Montage-a-google is a simple web app that uses Google's image search to generate a large gridded montage of images based on keywords (search terms) entered by the user. Guess-the-google reverses this process by picking the keywords for you, the player must then guess what keyword made up the image - it's surprisingly addictive. "

Now this is a cool usage of Google.

BTW, don't blame the messenger if you find yourself hooked to this.... ;)

(via hackedbrain - Guess The Google)

Tuesday, May 03, 2005

US Military PDF Redaction "Issue"

Sound Evidence: E-Discovery Simplified: PDF redaction lapse

"... "simply put black rectangles over the text and did not delete any of the text itself from the documents. They were trying to do redaction with something not designed to do redaction.''

By simply opening the document in Adobe's free Acrobat Reader, hitting the "select text'' button, copying and then pasting all the text into any word processor, readers can see what's buried beneath.

... Ever wonder why TIFF's won't disappear? "


Dogh!

And sigh... I can still keep hoping TIFF's will go away one day (but I doubt they will in the near future... double sigh).

MS Access System Information via OleDbCommand.GetOleDbSchemaTable

Equivalent of sys* tables of SQL Server in Access

"When working with SQL Server it is easy to get access to database metadata like tables, stored procedures etc, by using the sys* tables. I was doing some work with Access and wanted to do something similar, turns out that it is quite easy to do.

Basically the OleDbCommand.GetOleDbSchemaTable() method allows you to get as much metadata you want about the DB.

Pretty obscure but a God send when you really need it :)"


Sijin's post came JUST as I needed to do this very thing. How cool is that? I dig people who take the time to post cool info-snips like this...

I was going to dig through the hidden Access system tables (like MSysObjects, etc), but I think I'll try Sijin's approach first. Seems less horky.

Though the MSysQueries table looks kind of cool... It's Access Queries broken into parts, one row for each column returned in a query. Hummmm

Circumventing Group Policy Settings

Mark's Blog: Circumventing Group Policy Settings

"Group policy settings are an integral part of any Windows-based IT environment. If you're a network administrator you use them to enforce corporate security and desktop management policy, and if you're a user you've almost certainly been frustrated by the limitations imposed by those policies. Regardless of which you are, you should be aware that if the users in your network belong to the local administrator's group they can get around policies any time they want.

There are two steps to circumventing a group policy setting: identifying the setting's location and preventing the setting from being applied. There are many group policy references available, but since machine group policy settings store in the HKEY_LOCAL_MACHINE branch of the Registry and per-user group policy settings store in HKEY_CURRENT_USER, if you don't know the location of the setting that's preventing you from doing something you want you can use Regmon to find it.

The number of desktop lockdown settings available to group policy administrators is enormous. They can prevent you from doing anything from changing your desktop appearance and start menu to running certain applications. Two commonly applied settings include a pre-configured screen saver program so that users don’t waste resources on frivolous screen savers, and a screen saver timeout so that systems aren’t left indefinitely accessible when a user steps away. When these settings are in effect Windows omits the screen saver tab of display properties control panel applet or doesn’t let you modify the screen saver or its timeout. I’m going to show you how to use the power of being a local administrator and Regmon to track down these settings and override them on your own system.

..."


Oh yeah... I think I can use this.

(via John Howard - Group Policy Circumvention by Local Administrators)

Monday, May 02, 2005

Microsoft licensed Mvp.Xml library: .Net Open Source Does Good...

Signs on the Sand: Microsoft licensed Mvp.Xml library


"On behalf of the Mvp.Xml project team our one and the only lawyer - XML MVP Daniel Cazzulino aka kzu has signed a license for Microsoft to use and distribute the Mvp.Xml library. That effectively means Microsoft can (and actually wants to) use and distribute XInclude.NET and the rest Mvp.Xml goodies in their products. Wow, I'm glad XML MVPs could come up with something so valuable than Microsoft decided to license it.

Mvp.Xml project is developed by Microsoft MVPs in XML technologies and XML Web Services worldwide. It is aimed at supplementing .NET framework functionality available through the System.Xml namespace and related namespaces such as System.Web.Services. Mvp.Xml library version 1.0 released at January 2005 includes Common, XInclude.NET and XPointer.NET modules.

As a matter of interest - Mvp.Xml is an open-source project hosted at SourceForge."


Wow, now THAT's cool! Man it's great to see a .Net project like this picked up by MS.

Time to join a project or dust off my projects... Oh.. yeah.. can't.. sigh. (grr... Due to working at one of the Final Four accounting firms, and thereby one of those "standard" IP contracts, what I think they own... [thinking bad thoughts right... now... HA. Own THAT!] LOL ;)

NBC's 'The Biggest Loser 2'... in Simi...

NBC's 'The Biggest Loser 2' to debut August 9, feature men versus women

"...According to the Los Angeles area's Daily Breeze newspaper, The Biggest Loser 2 began filming at a secluded Simi Valley horse ranch in March ..."

[Comments about losers in Simi deleted]
[Comments about more overweight people (of which I'm one) in Simi deleted]
[Comments about the poor horses deleted]
[Comments that my comments are sour grapes cause I can't seem to lose weight deleted]

Actually it's good to seem more filming in Simi. It's a great place, great people and great views all within easy driving distance of LA.

Sunday, May 01, 2005

Paint.NET v2.1 Released

ActiveWin.com - Paint.NET v2.1 Released

"The major goals of this release were to improve performance, refine the user interface and experience, and to support some highly requested features such as PNG transparency support and JPEG save quality configuration.

To summarize, Paint.NET v2.1 is much faster, more compatible, and produces better quality images than v2.0. It is a highly recommended upgrade.


  • Many bug fixes and miscellaneous user interface tweaks.

  • Installation via Group Policy is now supported.

  • Rendering quality, usage, and performance of selections is improved.

  • Much better performance all around.

  • Magic Wand selection tool.

  • Ellipse/circle selection tool.

  • PNG transparency is now supported.

  • GIF save quality significantly improved.

  • JPEG quality selector and preview, and file size preview.

  • Upgraded PDN file format to support very large images.

  • Thumbnails are now shown for .PDN files in Windows Explorer.

  • Much higher quality rendering when zooming out.

  • Background layer is no longer "locked".

  • EXIF data is now preserved for supporting file formats.

  • Lower memory usage. History items are now saved to disk instead of completely stored in memory.

  • Better Tablet PC support. Also, Ink isn't used unless you have a Tablet PC; this has increased compatibility and performance on regular systems.

  • Ability to resize image based on a percentage.

  • Brand new image resampling routines for Image->Resize menu item (no more transparent borders).

  • No more flickering in the UI.

  • More optimizations for multiprocessor and multicore systems.

  • Startup time is greatly reduced.

"

The very cool C# Paint.Net 2.1 is out...

Past Post XRef:
Paint.NET 2.0 Released
Paint.NET v1.1 is now available!

The Forbidden Library: Banned and Challenged Books

The Forbidden Library: Banned and Challenged Books

"The books listed on my site were all challenged on some grounds by groups who wished to impose restrictions on them. Some were removed from reading lists, some were removed from school or public libraries, some were burned in bonfires. I do not claim that all of the books in my list are for the same age group, nor do I believe they are all equally suitable for academic reading lists. I merely report documented challenges to books, and in some cases poke fun at the rationale used by those who object to the works mentioned.

I put the website together because I did not find any of the specific rationale for challenging the works I list compelling in any way. In fact, many of the reasons were quite humorous. I believe that books, and children, are individuals, and none deserve to be labeled. ..."


I guess I've found my summer reading list... ;) Actually it looks like I've read many of the science fiction/horror ones... :|

Each "forbidden" book has an excerpt as to why it's on the list, as well as an amazon purchase link (which made me laugh... that'll show those evil book banner's! )

(via Randy Holloway Unfiltered - Forbidden Library)

Chrome - Object Pascal for .Net (VS [Trial], Mono [Free] and Command Line[Free])

remobjects.com

"After over a year research and development, RemObjects Software is proud to finally unveil Chrome, its long awaited Object Pascal language for the .NET and Mono Platforms. Chrome takes all that we have come to appreciate about the Pascal Language into the twenty-first century and it places it right where it belongs, inside the Visual Studio IDE. "

Sounds kind of interesting... Been a while since I've done Pascal (Delphi 1.0 & 2.0.. lol, yeah, about forever ago). While you can target .Net with Pascal via Delphi.Net, this intergration into VS seems cool.

I think I'll queue this for a future time, when I've already gotten up to speed on VS2005... ;)