Customizing the Tools menu in LDMS

Wednesday, November 23, 2005
Here are instructions on how to add LDDiscover.exe to the Tools menu in the LDMS Win32 console. It is designed to be easily customized by LDMS users.

First, create a new folder named Tools under the ManagementSuite folder. The default ManagementSuite folder (also referred to as Ldmain) is C:\Program Files\LANDesk\ManagementSuite. So, for a default installation your new folder will be at: C:\Program Files\LANDesk\ManagementSuite\Tools.

Now, create a new file in that folder called LDDiscover.xml with the following contents:
<?xml version="1.0" encoding="utf-8"?>
<ToolInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<_toolBoxText>LDDiscovery</_toolBoxText>
<_className>Standalone Process</_className>
<_assemblyPath>C:\Program Files\LANDesk\ManagementSuite\Utilities\LdDiscover\LDDiscover.exe</_assemblyPath>
<_bitmapPath>resources\TVTS\bmps\ImageUltra16.bmp</_bitmapPath>
<_showInToolsMenu>true</_showInToolsMenu>
<_showInToolBox>true</_showInToolBox>
<_extendComputerContextMenu>false</_extendComputerContextMenu>
<_group>Configuration</_group>
</ToolInfo>

Start (or restart) the LDMS console to see your changes. (Note: You'll have to change the path in the file that points to the LDDiscover.exe file, if you did not install LDMS into the default directory.)

Agent-less LDMS inventory using LDDiscover.exe

Sunday, November 20, 2005
I was playing around with some of the components that come with LANDesk Management Suite (LDMS). I work for LANDesk Software, Inc. on the ISV team. My team comes up with solutions to integrate LANDesk and our partners’ products.

Anyway, I figured out a very cool use of LDDiscover.exe, one of the components available to LDMS users. Using LDDiscover.exe I automated the deployment of our agent to all of the machines on my (private) network. That’s cool, but nothing that the LDMS console doesn’t already do (although, personally I prefer the simple UI of LDDiscover.exe for some quick tasks). What is cool about this is that using nearly the same steps I was able to perform an agent-less inventory of all of those machines, without installing our agent onto those machines inventoried.

Here are the steps to run LDDiscover.exe:

1. Run LDDiscover.exe (installed with LDMS under ManagementSuite\Utilities)
2. Configure it
3. Enter in IP ranges (or machine names)
4. Enter account credentials. (You can pre-append the user with the domain name if needed.)
5. Enter the commands to run (see below).
6. Click Run!

If you want to install the LDMS agent, use the following commands where merlin-ldms is my Core server:

net use \\merlin-ldms\ldlogon /user:Username "password"
\\merlin-ldms\ldlogon\wscfg32.exe /install
net use /d \\merlin-ldms\ldlogon

If you want to perform an agent-less inventory of all of those machines, use these commands instead:

net use \\merlin-ldms\ldlogon /user:Username "password"
\\merlin-ldms\ldlogon\ldiscn32.exe /s=merlin-ldms /ntt=merlin-ldms /sync /V
net use /d \\merlin-ldms\ldlogon

You can also create an ldform.dat file in the \ldlogon folder that the scanner will pick up, which will provide custom data for querying (such as ‘Automated Scan = True’).

Cross-platform development

Tuesday, November 8, 2005
A friend and I are creating a new software application. It has some new ideas, not revolutionary, but good solid features. What it does have, however, is a fantastic development paradigm. In creating and using my own developer toolkit for this application, I can now code for the web and desktop applications using exactly the same code for both. No conversion or runtime or parsing of the source or binaries is required.

It’s a truly wonderful thing, let me tell you. The only visible difference is that when it is run from the web it has the “Application title – Browser Name” in it. Other than that, we’ve got it working so good in both environments that you can’t tell the difference by looking at it (unless you’re fastidious like me). It’s even cross-browser, too! Steve is currently implementing functionality in the back-end to automatically synchronize the local content with a web server for secure, off-site storage of the user’s data. I’m busy adding support for new controls, user-defined controls, and additional themes.


So, what’s the benefit? What’s the big deal? Well, take the company I work for, for instance. We have dozens of developers creating a Windows-based “core-console” that provides the majority of our core products’ functionality. We also have several developers providing a sub-set of that functionality for the “web-console.” The benefit of this toolkit and paradigm in general, is in focusing everyone’s time and effort into “one-console” that will look and behave exactly the same whether it’s launched from the local machine or a web address. Forms, screens, and functionality wouldn’t be created twice. More code is re-usable. We haven’t even touched the value of testers re-grouping to test only one product instead of having two teams testing (by all rights) different products; one desktop application and one web application.

On the other side of things, now we could say we have a client for every major operating system, where before we had a Windows desktop console and an IE-only web console. Using this toolkit, we’d have a full-featured console that behaved the same whether it’s run on Windows, Linux, MacOS, or an operating system that has a Firefox browser.

The user can install it and it will run faster than via a web address. Or, you can run it from the web. All of the user’s settings are shared and available between both versions of the application. The product is better designed, built better, more fully tested, and has more features. The user is happier. Heck, even management would be happy! Now, that’s value!

Google Classifieds

Monday, November 7, 2005
This evening I was thinking about the other areas that Google could receive advertising dollars from. One of things I thought of was personal classified advertisements. I, personally, would love to be able to properly sort and filter local classified ads on items such as guitars, tools, and anything else normally advertised in the paper.

I have never had a newspaper subscription, but I have purchased them in the past when looking for a good deal on something and searched the newspaper’s website for classifieds. Both are equally terrible. No, I take that back. The online classified is much worse, because of its potential; you’d expect it to be at least usable.

Google Billboards

Why don’t they offer some graphical advertisements on some sites? The images (or SWF files) could vary in size and shapes, of course. I know that I notice graphical advertisements immediately on a page, before I notice the ad words. If the graphical ads were contextual; then you’d have another great product. I wouldn’t mind them and sometimes might prefer them. Of course, I’m not talking about the stupid, annoying shoot the target ads.

Computers of the Future

My vision of the Computers of the Future

There has been a lot of talk about the future of the World Wide Web lately. Most of it is the normal fluff and excitement about the latest technology that is “new,” even though it’s been around forever. (In web standards, forever is about three years!) I think Google, Microsoft, and Sun are getting closer, but they’re not quite there.

As much as I hate to say it, I believe that the future embodiment of the computer is a terminal connected to a remote server somewhere on the web. Much like the mainframe paradigm, we will log into a thin client desktop machine. I don’t think it will be the thin client of today, though. I think we’ll see our desktop computers converge, similar to Scott McNealy’s grid computing vision, with the servers on the web.

We will have a complete computer, with a printer attached, CDROM drives, USB/Fire wire ports, and petabytes of hard drive space. The difference will be in how the machine is used and where our data is stored. I will have one user account. That’s all, just one. I log into my machine at home or work and get exactly the same desktop. My applications will be attached to me, not my machines. If I log into a computer at the local cyber-café I get the same desktop, with my applications.

I, for one, will never give up my local copy of data. Period. It won’t happen. So, my data would have to be stored securely at home and on my server account. Any changes I make to it at work will be replicated to my home machine and made available for access from everywhere else, etc.

Processing power will be shared, but engineered in a way that you’ll never have less power than your machine by itself. Storage could even be shared, if for instance me and another 3,000,000 users told our dvr device to record the same Smallville episode, we could all be accessing one copy of the file, sharing the storage space.

My file system would be a mixture of local folders and files, as well as web-links to my digital wares stored on the web. But, from my File Explorer it all looks the same. My music files for instance, would be stored on a server and shared like my Smallville and Lost episodes. I can get local copies for my disconnected devices such as my MP3 players, but those will probably be streaming my music from wifi connection points wherever I’m at in town anyway, so maybe I wouldn’t need a local copy at all.

My address book contacts would really be a reference to my contacts’ own personal virtual cards. Anytime, he or she updates their information, it is visible to me, because I’m really just looking at their data whenever I open my address book. I will specify who can see my contact information, using my global control panel, which is provided by my host.

Of course you wouldn’t have to have a computer desktop machine. Using a different account type you could use a (dumb) thin client like the ones of today to get to all of your applications and data stored on the web. This would be useful for those who simply want to use it for email, news, TV, phone, etc. These devices would probably be what the cyber-café’s will use.

Bookmarks application and search

Friday, November 4, 2005
With all of that being said (see previous Blog), I find it is usually easier (and faster) to perform a Google search for most things I’m looking for than trying to remember where I put the link and finding it in a menu.

Since, this is more and more the case with continual increases of information overload, the application would probably still only be used for links that are used frequently – the ones you know and remember right where they are. Links like my credit union login, current development projects, frequently read blogs, news sites etc., would all be stored here and shared between my computers. I call these the standard set. There are about seven of them and they are always visible on my browsers’ toolbar.

The real value of a bookmarks application would be not needing one at all. Instead, having my bookmarks integrated into my Google search results. Yeah, it looks like I just lost my business plan. Why not add a link next to each search result that will allow me to bookmark this item? Then, the next time I search for the site it would show up in its own section, first atop the list of results. I would like to be able to label each bookmark too, like giving the link a new name or description to make it easier for me to remember which link this is the next time I search.

Now, that provides value to my default search engine as well. (Are you listening Google?) That would provide so much value that I would probably never bookmark another page outside of the standard set again.

I suppose I could use the Google search API to create my own interface to their search results?

Online favorites and bookmarks

I’ve seen so many sites offering online favorites and bookmarks over the years and now Microsoft is making yet another version available. (I think this must be their fifth or sixth time re-creating that project.)

I still don’t think it’ll be used. I think that Microsoft and the other companies trying to do this are still going about it all wrong. This is what I think will get used.

Favorite Bookmarks

I would like an application that I install onto my machine. It runs all the time in the background. It will mirror my local Favorites folder with the web site via web services. It should also mirror my Favorites folder with my Firefox bookmarks.html file. Let’s not forgot that I want to be able to install this application on my development machines and laptop at work and my development machines at home.

The sign of good application design is that you won’t notice it is there running. It “just works” is the motto here. This application would be no different. I want to be able enter a user name and password and it will do the rest. It can find my favorites folder and bookmarks.htm file from the registry.

There is a business case here, too, I think. I could get one (maybe two) computers for free, and then I have to pay $5 per year for unlimited additional computers. That’s a great idea. I like it. But…

Handheld devices

Thursday, November 3, 2005
Wifi handheld devices.

What about wi-fi on my MP3 player? I’d like to be able to update my music files and lists from my computer automatically, without having to plug it in.

I’d like to be able to share music wirelessly with my friends, perhaps a low quality format or perhaps just a wifi stream that they can only listen to while standing next to me? (Sony, RIAA won’t like this one!)

Reading blogs on those tiny screens.

I’d like to see my blog subscriptions on my handheld device, too. I’d like to be able to synchronize my current un-read blogs to my device either when its connected to my desktop or wirelessly. Whenever my feeds change on my desktop machine, whether I read it on my desktop or new articles arrive, my device should be updated with the latest articles and read articles should be removed from the device.

I suppose I could write my own application for Pocket PC and RIM (BlackBerry) devices?

Setting up a Pocket PC 2002 development environment

Wednesday, November 2, 2005
Instructions to get Pocket PC development environment setup


Introduction to Development Tools for Windows Mobile-based Devices
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/devtoolsmobileapps.asp

Embedded Visual C++ 4, Service Pack 4
http://www.microsoft.com/downloads/details.aspx?familyid=4A4ED1F4-91D3-4DBE-986E-A812984318E5&displaylang=en

eMbedded Visual C++ Upgrade Wizard for Visual Studio 2005 Beta 2
http://www.microsoft.com/downloads/details.aspx?FamilyID=77ffddbf-b215-4d96-94dd-6ae9b7bb53d2&displaylang=en

Mobile Application Development Toolkit
http://www.microsoft.com/downloads/details.aspx?familyid=F4328333-0FD4-4348-88C0-39D10FB64F0A&displaylang=en

Windows Mobile Developer Power Toys
http://www.microsoft.com/downloads/details.aspx?FamilyID=74473fd6-1dcc-47aa-ab28-6a2b006edfe9&displaylang=en

Emulator Images for Windows Mobile 2003 Second Edition software for Pocket PC
http://www.microsoft.com/downloads/details.aspx?familyid=5C53E3B5-F2A2-47D7-A41D-825FD68EBB6C&displaylang=en



  1. Install Embedded Visual C++ 4.0

  2. Install the SDK for the device(s) you want to develop for.


Embedded Visual C++ 4.0

This is a basic installation that will create multiple root directories on your system. I suggest letting it do so, using the default installation paths.


Microsoft Windows SDK for Pocket PC 2002

This will install just the SDK for Pocket PC 2002 devices. All of the new devices (Pocket PC 2003 / Second Edition, Windows Mobile 5.0) support and run applications that are developed for Pocket PC 2002.



Embedded Visual Tools 3.0

The tools include the following SDK’s
  • Windows CE Platform SDK (H/PC Pro)

  • Windows CE Platform SDK (Palm-size PC 1.2)

  • Microsoft Windows Platform SDK for Pocket PC
It also contains Embedded Visual Basic 3.0 and Embedded Visual C++ 3.0

Sony DRM, part II

I’ve been thinking about Sony’s new DRM a bit this morning. I think it’s unfortunate that Sony’s leadership has given up on new ideas and instead they are crying foul for those who are still innovating. Why do I say that, you might ask?

Instead of creating a music player that looks better, plays longer, holds more songs, provides more features than the iPod (whichever model), and instead of creating their own music player (or working with, updating an existing company’s product), they are spending resources annoying users and losing customers.

I’m not saying that I have a design for “a better iPod.” And, I’m definitely not saying that it would be easy! That’s hardly the case. What I am saying that instead of pissing off (and losing) customers by introducing garbage like this DRM solution, they should be doing everything they can to add value to their existing products and come up with new features that everyone “just has to have.”

Who knows; if Sony had focused their efforts on beating Apple we may have seen the recent release of the Sony Nano, instead of the iPod Nano. The potential is limitless!

Sony DRM

I read some interesting articles this morning about DRM. It seems that Sony has surpassed Microsoft as provider of the most invasive technology pundit.

Here’s the article I found on engadget.com. A couple other links are here and here.

What I got out of it is that Sony has created this horrible, overbearing DRM on new music CD’s for the sole purpose of coercing Apple to allow other programs to connect to the iPod. And, while doing so, Sony hopes to make Apple look like the “bad guy,” by their ploy to get users to contact Apple about the problem (the problem that iTunes and the iPod are proprietary).

But, this doesn’t really make sense to me. What does Sony have to gain from it? Perhaps they are really trying to get iTunes to connect to other devices, for instance the Sony NW-HD3? I’m not really sure of their intent, but I am sure that I won’t be ordering any CD’s with DRM on it.        
Older Posts Home Newer Posts