June 24, 2003

Shell objects

Today's Lockergnome Windows Daily has a pointer to a neat tool that fits right in with my entry about special folders (e.g. My Computer). Called the Shell Object Editor, it's a small, free download that lets you add, delete and modify your own shell objects. In expert mode you can even futz with the shell folders that are already present on your machine. The author explicitly states that he's using some undocumented functions so this isn't something I'd count on working when you need it. Still, if you're like me, just seeing the shell objects that are already present on your machine is a real learning experience.

Posted by tony at 02:13 PM | Comments (0)

News, news and more news and updates and news and ...

Sheesh! I must be browsing a couple dozen sites to check for updates and news. I happened across a news aggregator called Daily Rotation. No, it's not an RSS feed, it's just a web page that shows headlines, updated regularly, of over 200 sources including places like BetaNews, VersionTracker, SlashDot, InfoWorld and CNet. Each headline is a link to the story.

Posted by tony at 01:49 PM | Comments (0)

Cut the bull

OK, this one's kinda funny. Deloitte Touche Tohmatsu Consulting is distributing a bullsh*t filter for Word and Powerpoint documents. Not the first of its kind but I think it is the first to come from a major company. It's part of DC's Straight Talk series and is called Bullfighter. You run it, it scans the document for "readability and jargon" and suggests alternatives. Here's the download page. Knock yourself out!

Posted by tony at 07:36 AM | Comments (0)

Privacy and control via proxy

Let me give you the payoff first and then the background. Proxomitron has been sold and the free version is no longer being developed. Alternatives? Supposedly privoxy is one and Internet Junkbuster is another. As I find others that are (nearly) as as capable I'll post them.

OK, now for those that aren't familiar with the particulars, here's some background. Scott, Proxomitron's developer, finally had enough of the whining and kvetching on the the Yahoo! Group and decided to pack it in (see the group for details). Proxo, as it's known to its friends, has been around for quite a few years and is known as one of the most powerful and configurable filters/proxies around. With it you can literally rewrite entire pages, adding, removing or changing it as you deem necessary. This power allows you to selectively block ads, cookies, manage privacy and a bunch of other things including adding your own decorations if you want. It requires a bit of knowledge to set up, though, because it's configured by editing text filter files which are applied to your browser's data stream. There's LOTS of help on the group as well as a bunch of filters that you can download.

OK, now for those that aren't familiar with the particulars, here's some background. Scott, Proxomitron's developer, finally had enough of the whining and kvetching on the the Yahoo! Group and decided to pack it in (see the group for details). Proxo, as it's known to its friends, has been around for quite a few years and is known as one of the most powerful and configurable filters/proxies around. With it you can literally rewrite entire pages, adding, removing or changing it as you deem necessary. This power allows you to selectively block ads, cookies, manage privacy and a bunch of other things including adding your own decorations if you want. It requires a bit of knowledge to set up, though, because it's configured by editing text filter files which are applied to your browser's data stream. There's LOTS of help on the group as well as a bunch of filters that you can download.

Posted by tony at 07:19 AM | Comments (0)

June 23, 2003

It's not a new trojan, it's a network mapping tool!

Remember that eWeek article about a new trojan that could eat the entire Internet's lunch in 24 hours (see my blog posting from 6/16 at 10PM)? Well, guess what? They were wrong (gasp, no!) ... at least they think they were (what, more uncertainty?). In an eWeek follow-up article from 6/19 (how'd I miss it?) called "Security Researchers Uncover Mystery Malware" but a network mapping tool that they call "Stumbler".

Posted by tony at 06:14 PM | Comments (0)

Wireless deals at eCost.com

eCost.com has the SMC EZConnect 802.11b wireless PC card with configurable transmit power (up to 100 milliwatts meaning greater distances) for $19. Only 58 left with the deal set to expire in about 68 hours.

They've also got an Adaptec 802.11b Wireless 4-Port Router for $39.99 (4 left with 70 hours to go) and the Adaptec 802.11b Wireless Access Point for $29.00 (no idea how many or how long the deal will last).

Posted by tony at 06:05 PM | Comments (0)

Launching the default browser - an answer :)

OK, I promised the answer I'm using: run wscript on the following:

function main()  {
  var i;

// Create an instance of the scripting Shell Object
WshShell = WScript.CreateObject("WScript.Shell");

if(WScript.Arguments.length >= 1) {
// Have the Shell Object call ShellExecute on the 1st argument.
WshShell.Run(WScript.Arguments(0), 1, 0);
}

// Destroy the Shell Object
WScript.DisconnectObject(WshShell);
}

main();

Simple, no? Coming up with this led me through the confusing labyrinth of Wscript/Cscript, JScript, VBA and a few other things that I cna't remember anymore. It's been an intense couple of days! What I learned, though, has, as usual, been invaluable. I finally "got" the WScript object model and how it differs from the language that's being used to implement.

For completeness (and so that I have a record of some of these incredible sites and pages), here's where I went:

ShellExecute is in shell32.dll. Method of operation (how it decides to start a new instance, what registry keys it looks in, etc.) is in MSKB 224816.

MSKB 164787) describes the RunDLL and RunDLL32 interface and mechanism.

Then there's this article in the Microsoft Systems Journal which describes how to script an autorun utility.

WhirlyWiryWeb has a utility called ShellExe.exe which will launch documents through ShellExecute. The download is only 14K. The article and the download is available at http://www.whirlywiryweb.com/q/%2Fshellexe.asp. It takes multiple arguments and goes through trying to open each one of them till it succeeds. Kinda overkill for me and what I'm trying to do but it's still a good starting point.

"Fundamental Shell Concepts" at NetEZ.com explains some of the shell space naming, including how to locate the "name" of special folders. For instance, "My Computer" is "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" (sans quotes). You can use this as an address (like C:\WINDOWS) in Explorer, for instance.

Another good place I found some JScripting help was at newObjects in their Code snippets section. This particular article has 2 snippets: a sprintf implementation in JScript and a file preprocessor. I took some JScript hints from them.

The Google search terms I used to find most of this stuff was simply "jscript parameters" without the quotes. I found a VERY good document on JScript at http://docs.rinet.ru:8080/BumazhnyyKofe/index.htm. There are LOTS and LOTS of documents there.

Posted by tony at 07:23 AM | Comments (0)

June 22, 2003

The search is over! -- And why I've been tearing my hair out over this

I think I have finally found an answer to programmatically launching the default browser. I'll get to that in a minute but first I thought I'd tell you why I'm doing this.

As most of you know, I'm pretty paranoid when it comes to email and Internet access. I don' t like to read my email, for instance, in a web-enabled email client. Too many nasties can sneak past your defenses. I'm not crazy about the protection afforded by accessories external to the main email clients I use (Outlook and Outlook Express) and so I opt to inspect (and often, handle completely) my email through clients that aren't HTML nor even really web-enabled. Yeah, I know, I'm a throwback, a neanderthal but you just can't get any safer than that. For the longest time I've been using a pure text-mode email client called mutt on my Unix shell account at RawBandwidth. This is a good, safe environment and the email client is under active development so it's been a pretty good solution. Problem is it can't render ANY HTML and relies on an external viewer (like lynx) to display anything having HTML in it. One of the shortcomings of such a setup is that when I find an HTML email that I consider "safe," I can't easily view it or any of the links in a multimedia browser (like IE or Mozilla or ...).

I've danced around Pine for quite a few years, never really getting too far in to it ... I was happy with mutt. One day I decided to look into it further (probably because a new version became available for Cygwin). Turns out that Pine development has far outstripped what I expected of it. It can display HTML in line-mode but in a form that's pretty easily understandable. There's a native Windows PC version and, of course, a version for just about any *nix you care to name (including, I might add, OS X) and they have a fairly recent version on my shell machine. I tried it and, by golly, I like it! Next thing is, naturally, to set it up so I can browse those links in the message I deem "safe." OK, well, the easiest thing is just to run IE directly. I did that for quite a while but, with all the flipping back and forth between browsers, it became tedious to have a web page come up in IE when I was using Opera or MyIE2. That's what sent me on my hunt for a way to send a URL to the currently-running browser. You'd think that'd be simple, wouldn't you? Well, it is simple if you know the trick (ain't that always the case!).

I was on the right track a few days ago when I asked a few of you if you knew how to do this in VBScript or JScript or a BAT file. My meanderings and Google and Microsoft searches finally led me to ShellExecute -- an API function. I'll go in to the details in the next entry.

Posted by tony at 05:09 PM | Comments (0)

OK, that's not a great way to do it ...

Problems in the last solution I posted: URLs that have dollar signs in them don't parse right. Gotta find another way.

Posted by tony at 05:04 PM | Comments (0)

How to programmatically launch your default browser

I've been searching for a way to do this for a while now and I think I may've finally found an answer.

Even though MSKB article 283225 ("HOWTO: Start Internet Explorer from a Java Application") says it's osolete, you can still use rundll32 passing 2 parameters: the first being the string (sans quotes) "url.dll,FileProtocolHandler" and the second being the URL you want to browse. I sat up a little test and it seems to work, even if the URL contains spaces or other characters that you would normally expect to require quoting.

MSKB article 174156 ("HOWTO: Programmatically Launch the Default Internet Browser") documents how to use ShellExecute from VB which ishow the previous KB article says you're supposed to go about it. I dunno, it just seems like the long way around. I suppose for long-term supportability, though, I should look into this. If anyone has any comments or suggestions, please drop me an email ... I can use all the help I can get on this!

Posted by tony at 11:04 AM | Comments (0)