Sunday, October 19, 2008

The TRAVELERSAPI ...

Since many years I'm planning my own Travelers API ... containg the following collection of data:

• Geo Database with apx. 6 Million geocoded places worldwide organized by Countries, States & Administrative Divisions (Source: NASA)

• Electronic fact pages with all important facts about apx. 220 countries worldwide with ISO Country Codes (Source: CIA)

• US State, County, City & Town Database with apx. 50.000 geocoded US ZIP Codes (Source: U.S. Census Bureau)

• Germany State, City, Village and Streets Database with apx. 120.000 ZIP Codes and 250.000 Streets (Source: Collected on the Internet)

• Restaurant Database with apx. 250.000 restaurants worldwide with ZIP Codes and nearest Airport Code (Source: CHEFMOZ.ORG)

• Airport Database with apx. 20.000 airports worldwide with 3-4 digit Airport Codes (Source: Collected on the Internet)

• Hotel Database with apx. 50.000 hotels worldwide with ZIP Codes (Source: IAN.COM)

• Product Database with apx 3.500 tours, events and attractions (Source: VIATOR.COM)

• Content Data files with 1.8 gigabyte of all imaginable contents worldwide (Source: DMOZ.ORG)

• Product Database with apx. 1.200 working platforms (Source: LIFTPROFI.DE)

• Product Database with apx. 28.000 different goods to sell (Source: TRADEDOUBLER.COM)

• Basic Language Database with apx. 500 translations in 10 languages (Source: Collected on the Internet)

• Affiliate relations or partnerships with apx. 500 enterprises worldwide on all kinds of products in multiple languages

• Partner access to ZIP based Weather Services (US Local)

Would anyone like to join me on that project? Please don't hesitate to contact me!

Sunday, September 28, 2008

How to Convert C# Code to VB.NET

In my personal blog at www.blogger.com I've published a link to an utility that in my opinion is most important for VB.NET developers.

How many times have you found the right sample? ... but it was written in C# ... and you are a VB.NET GURU but just and only a simple C# user ... well, this website provides a translation utility: DeveloperFusion

Thursday, September 25, 2008

Integrating MapPoint in your .NET applications

Today I'd like to introduce you to an astonishing C# article at The Code Project. The author Chayan programmed a sample application that's worth testing and talking about!

The MapPoint technology by Microsoft provides a programmable web service, used by enterprises and independent software developers to integrate location-based services such as maps, driving directions and proximity searches into software applications and business processes.

Feel free to download the source code of the "MapPoint Project" and leverage the code sequences in your .NET applications. In addition you may download the MapPoint SDK!

Please don't forget to apply for a "Trial Developer Key" at the Microsoft Site before using that sample!

By the way, this sblog is about VB.NET codes, so I'll translate the most important code sequences from C#.NET to VB.NET soon!

Tuesday, September 23, 2008

VB.NET Code Samples for the Live Search API

Recently I found great VB.NET code samples for the Live Search API. That code sample demonstrates how to use the Live Search SOAP web service in a VB.NET application, whether they are ASP.Net or WPF based. It includes examples of all major functionality provided by the web service and includes a reusable module to simplify the API calls.

Download the Live Search API sample now at the Microsoft Download Center.

For the latest updates and news on the Live Search API, please subscribe to the Live Search Developer's Blog.

Monday, September 22, 2008

WIN32 API and Windows CE

The Win32 API is the core programming interface for Windows CE. In the early 1990s, Microsoft announced that its two core strategic technologies were Win32 and the Component Object Model (COM). The Win32 API is supported on all Windows operating systems, including 16-bit systems (Microsoft Windows 95, Windows 98, and Windows Millennium Edition) and 32-bit systems (Microsoft Windows NT, Windows 2000, and Windows XP).

Windows CE was the first Microsoft operating system to use the Win32 API for both device drivers and applications. Sixteen-bit Windows systems use the Virtual (VxD) drivers at their lowest layer, and 32-bit Windows systems have a proprietary kernel-mode API that is decidedly not Win32. Therefore, Windows CE is more deeply connected to Win32 than any other Microsoft operating system.

Win32 has been referred to as the "assembly language of Windows," because it is a very low-level API with very primitive functions. Just as multiple machine language instructions are needed to accomplish even the simplest task, multiple Win32 function calls are often needed to do real work. This is, however, the API that all other APIs and development tools ultimately rely on to get things done.

In the context of the .NET Framework, Win32 code is referred to as "unmanaged code." This is because the Common Language Runtime does not manage the memory, or guarantee the security and type-safety, of Win32 code. .NET code, by contrast, is called "managed code" because all these features and more are provided by the .NET runtime. Understanding the distinction between managed and unmanaged code is key to understanding the difference between these two APIs.

Sunday, September 21, 2008

Working with Visual Studio 2008

Why am I working with Visual Studio 2008?

The most easiest way to explain why I'm using Visual Studio 2008 is having a look at Microsoft's product description. It's self-explaining as is ... but I'll take care to add some additional values from time to time!

About Visual Studio
The Microsoft Visual Studio development system is a suite of development tools designed to aid software developers whether they are novices or seasoned professionals face complex challenges and create innovative solutions. Every day, software developers break through tough problems to create software that makes a difference in the lives of others. Visual Studio's role is to improve the process of development to make the work of achieving those breakthroughs easier and more satisfying.

How Visual Studio improves the process of development:

Productive
Visual Studio branded tools continually deliver better ways for software developers to do more with less energy wasted on repetition and drudgery. From efficient code editors, IntelliSense, Wizards, and multiple coding languages in one integrated development environment (IDE) to high end application life cycle management (ALM) products in Microsoft Visual Studio Team System. New versions of Visual Studio keep bringing innovative tools to help developers focus on solving problems, not waste time on minutiae.

Integrated
With Visual Studio, software developers benefit from an integrated product experience that spans tools, servers, and services. Visual Studio products work well together not just with one another, but also with other Microsoft software, such as Microsoft server products and the Microsoft Office system.

Comprehensive
Visual Studio offers a choice of tools for all phases of software development, testing, deployment, integration, and management for every kind of developer from the novice to the skilled professional. Visual Studio is also engineered to support development across all types of devices like PCs, servers, the Web, and mobile devices.

Reliable
Visual Studio is engineered and tested to be consistently dependable, secure, interoperable, and compatible. Visual Studio offers an unmatched combination of security features, scalability, and interoperability. Although Visual Studio always incorporates forward thinking features, it is designed to ensure backward compatibility wherever possible.

Saturday, September 20, 2008

WIN32 API History

Before I present some of my WIN32 modules, I'll start explaining the WIN32 API by introducing you to its history as it can be found at Wikipedia.

The Windows API has always exposed a large part of the underlying structure of the various Windows systems for which it has been built to the programmer. This has had the advantage of giving Windows programmers a great deal of flexibility and power over their applications. However, it also has given Windows applications a great deal of responsibility in handling various low-level, sometimes tedious, operations that are associated with a graphical user interface.

Charles Petzold, writer of well-read Windows API books, has said: "The original hello-world program in the Windows 1.0 SDK was a bit of a scandal. HELLO.C was about 150 lines long, and the HELLO.RC resource script had another 20 or so more lines. (...) Veteran C programmers often curled up in horror or laughter when encountering the Windows hello-world program." A Hello world program is a frequently used programming example, usually designed to show the easiest possible application on a system that can actually do something (i.e. print a line that says "Hello World").

Over the years, various changes and additions were made to the Windows Operating System, and the Windows API changed and grew to reflect this. The Windows API for Windows 1.0 supported fewer than 450 function calls, where in modern versions of the Windows API there are thousands. However, in general, the interface remained fairly consistent, and an old Windows 1.0 application will still look familiar to a programmer who is used to the modern Windows API.

A large emphasis has been put by Microsoft on maintaining software backwards compatibility. To achieve this, Microsoft sometimes even went as far as supporting software that was using the API in an undocumented or even (programmatically) illegal way. Raymond Chen, a Microsoft developer who works on the Windows API, has said: "I could probably write for months solely about bad things apps do and what we had to do to get them to work again (often in spite of themselves). Which is why I get particularly furious when people accuse Microsoft of maliciously breaking applications during OS upgrades. If any application failed to run on Windows 95, I took it as a personal failure."

One of the largest changes the Windows API underwent was the transition from Win16 (shipped in Windows 3.1 and older) to Win32 (Windows NT and Windows 95 and up). While Win32 was originally introduced with Windows NT 3.1 and Win32s allowed usage of a Win32 subset before Windows 95, it was not until Windows 95 that many applications began being ported to Win32. To ease the transition, in Windows 95, both for external developers and for Microsoft itself, a complex scheme of API thunks was used that could allow 32 bit code to call into 16 bit code and (in limited cases) vice-versa. So-called flat thunks allowed 32 bit code to call into 16 bit libraries, and the scheme was used extensively inside Windows 95 to avoid porting the whole OS to Win32 itself in one chunk. In Windows NT, the OS was pure 32-bit (except the parts for compatibility with 16-bit applications) and the only thunk available was generic thunks which only thunks from Win16 to Win32 and worked in Windows 95 too. The Platform SDK shipped with a compiler that could produce the code necessary for these thunks.

Friday, September 19, 2008

Send a Post to Your Blog Programmatically

This article is about how to connect to the Google Data Services (Blogger) and about how to send your first post to your blog. Note: All variables with a "YourBlog..."-value have to be replaced with your own values!

Thursday, September 18, 2008

API Development

Since years I'm developing applications, portals and services. The collections of code I own are huge and since I've lost all my servers and domains I thought that it would be nice to share the most important pieces of code and help others to get into API Development more easily than I got. From time to time I'll post VB.NET code to access "Google APIs", "Amazon APIs", "eBay APIs", "Microsoft MapPoint APIs" and "Map24 APIs"! If you ever have questions on code I deliver ... well, feel free to contact me by using the "comment-option" of this blog. Have fun! Yours, Raisor