Sunday, December 18, 2005

Microsoft Patents Prior Art "Local DLL/COM File" usage concept

This is ridiculous. Microsoft has just patented the idea of having a local DLL in a directory and it be used first over another in a path directory.

Methods, systems and data structure are described for implementing local isolated DLL and/or COM components. A version of a shared component is stored in a local directory with an application that uses that particular version. Another version of the shared component exists on the system and is useable by any number of other computer programs. A local file is created in the local directory that indicates the presence of an isolated version of the shared component. When the application calls the shared component, the system uses the isolated version of the shared component stored locally with the application program. Thus, specific versions of components may be provided to a calling application without making any code changes to the calling application or to the Component to which the calling application is bound.


Wonderful!

Developers been been doing this FOR YEARS! We been doing this since atleast 1996!! We don't store our DLLS in the SYSTEM directory. Its all maintained in a LOCAL installed directory.
Suddenly Microsoft is now developing more "Application" software that is wants to KEEP out of their Windows OS directory structure and THEY GET THE BRIGHT IDEA that keeping a DLL in a local directory to override the system dlls is now PATENTABLE!!!

Here's the scoop:

The Win32 API function, LoadLibrary(), always used the the logic is checking the Local Directory first. See MSDN help for this function to see the order listed.
However, if the loaded DLL has a dependency that is in another directory and it needs to LOAD a DLL, then it no longer checks the Local directory first. In other words, the secondary DLL loading is based on the parent DLL location.

This presented barriers to having local testing of DLLs if you happening to have a copy in another directory.

LoadLibrary() always used the the logic is checking the Local Directory first. See MSDN help for this function to see the order listed. However, if the loaded DLL has a dependency thats in another directory and it needs to LOAD a DLL, then it no longer checks the Local directory first.
This was solved with the LoadLibraryEx() function with its ALTERNATE PATH SEARCH strategy.

Apparently, Microsoft decided to patent this alternate path search logic.


Monday, December 05, 2005

Yet another language!

Lets see? Sometime around 1974 I learned my first language FORTRAN. Over the course of the next thirty plus years, I had learned over nearly twenty different computer languages on over fifteen difference machines and operating systems.

However, I recall the critical and key point in my programming life when I realized my linguistic lust for computer languages was really making my life overly complex. Even though I have developed a keen sense of general software engineering, switching your brain from one language mindset to another was getting pretty tiresome.

So I decided very early on to concentrate on just a few principal languages and built my future and company products around them. The languages were C/C++, BASIC and Delphi (only because I had an early product based on Pascal) and when required, ASM. For the most part, today, C/C++ and BASIC are my primary languages. I don't think BASIC will every leave this earth. Marketing always seems to prevail showing that BASIC is the status quo mass langauge for the "common" person. I think Microsoft learned this lesson several times over.

I know I am a few years late (by design) but I finally took the plunge to find out what this C# language and .NET environment was all about. I downloaded VS 2005 C++ Express Edition.

Wow! Its hard (and too much) to describe, but this is a whole new environment!

I believe it is not for my age group! I don't think I want to spend the precise time and energy to learn the "ins and out" of a whole new language and framework. To be a great programmer or "craftman of a tool", you have to roll up your sleeves and simply put the time in. Learn thru faults, trial and error and well as success.

Maybe I am just feeling the age. Maybe I am just falling victim to all the hype; I certainly don't need C# and .NET to continue with my career. Maybe we have just allowed Microsoft to once again change the "standards." They are known to do such things, you know?

I don't care how many layers one adds to a development environment. It still takes time to learn it. This has raised a question for me. Is there truly a new mentality of thinkers and new breed computer programmers who see the new language and framework as a natural environment for them? I guess the question may also be: What was wrong with C/C++ object oriented programming? Was it still too hard for the masses?

In the PC world, Visual Basic and Delphi opened the door to event driven GUI programming abd Component Engineering. Remember Dan's Brinklin's DEMO program? I attributed this popular early "modeling" tool for the masses as the early prototyping system. Add a real language behind it and you get your VB and Delphi.

With the new Visual Studio 2005 IDE, you can see how it touches base with VB and Delphi. They had a direct influence in the new framework now owned by Microsoft. In fact, Delphi's original architect was hired away from Borland a few years back and guess we are finally seeing the fruition of this man's work for Microsoft.

Saturday, December 03, 2005

Is Microsoft opening Pandora's Box with unsolicited networking?

Recently, Microsoft released Visual Studio 2005 and now offers free stripped down Express Editions for everyone to download. The free offering ends sometime next year and its an excellent way to explore the next system.

I downloaded the C++ Express Edition (EE) to get a look and feel of the package. It reminded me of the powerful Delphi IDE framework with its easy GUI designers, but in new, nice visual colors and pop up windows that seem to come from all angles! At one point I must of had altleast 100 windows opened, sliding left, right, up and down in the IDE!

However, the most striking feature is the entire framework designed around external communications with Microsoft MSDN Online and the outside internet world. It is an OPT-OUT feature. The entire help system, the search system, the integration with other web sites called CodeZone, is built-in right out the box and they don't make it easy to turn off. Even then, after turning it off, I wasn't confident it wasn't still going out the internet sending or collecting information. I got so paraniod that I know disconnect my internet connection every time I start the Visual Studio Editor.

The issue of Security vs Privacy sparks many debates. My concern is not so much with Microsoft, but with everyone else jumping on board and doing the same type of activity.

Microsoft has opened Pandora's Box.

HLS

Telco exec wants ISPs to charge for download prioritization!

Yesterday, I read in the Washington Post, the following:

http://www.washingtonpost.com/wp-dyn/content/article/2005/11/30/AR2005113002109.html

What does this mean?

Well, the way I see it, it means that if you search for something via the bellsouth.net channels and network, they can begin to CAP the bandwidth or even FILTER the results depending on who are you searching.

This would be a whole new business model and paradigm for the search industry. If the TELCO gets it way, then the search industry will begin to charge for their services. There is already talk about this. Would you pay $5 per month to Google to use their search system?

I always said if this was to happen, then a new "No Frills" google-like free search site will emerge and I believe Google knows this and are deafly afraid of the next "No Frills" search site. That is why it hasn't happen yet.

However, with the Telco's like BS, now wanting to get into this new business model, they can control the freebies versus the fee-based search results via domain based capping, bandwidth and filter controls. Slower for freebie site, normal/faster for fee-based search site that
has a contract with BellSouth.

Wonderful!

HLS